Перейти к основному содержанию
 

Как преобразовать десятичные градусы в градусы минут секунды в Excel?

Автор: Сан Последнее изменение: 2024 июля 08 г.

Иногда у вас может быть список данных, отображаемых в виде десятичных градусов на листе, и теперь вам нужно преобразовать десятичные градусы в градусы, минуты и секунды, как показано на следующих снимках экрана, как вы можете быстро получить беседу в Excel?

данные десятичных градусов стрелка градусы минуты секунды данные

Преобразование десятичных градусов в градусы, минуты, секунды с VBA

Преобразование градусов, минут, секунд в десятичные градусы с помощью VBA


стрелка синий правый пузырь Преобразование десятичных градусов в градусы, минуты, секунды с VBA

Выполните следующие действия, чтобы преобразовать десятичные градусы в градусы, минуты и секунды с помощью кода VBA.

1. Держать ALT и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.

VBA: преобразование десятичных градусов в градусы, минуты и секунды

Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    num1 = Rng.Value
    num2 = (num1 - Int(num1)) * 60
    num3 = Format((num2 - Int(num2)) * 60, "00")
    Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub

3. Нажмите Run или нажмите F5 для запуска VBA.

4. На экране отобразится диалоговое окно, в котором вы можете выбрать ячейки, которые хотите преобразовать. Смотрите скриншот:

Код VBA для выбора данных для преобразования

5. Нажмите OK, затем выбранные данные преобразуются в градусы, минуты и секунды. Смотрите скриншот:

исходные данные стрелка результат преобразования

Функции: Использование приведенного выше кода VBA приведет к потере исходных данных, поэтому вам лучше скопировать данные перед запуском кода.



стрелка синий правый пузырь Преобразование градусов, минут, секунд в десятичные градусы с помощью VBA

Иногда вам может потребоваться преобразовать данные в градусах / минутах / секундах в десятичные градусы, следующий код VBA поможет вам быстро это сделать.

1. Держать ALКнопку T и нажмите F11 на клавиатуре, чтобы открыть окно Microsoft Visual Basic для приложения.

2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.

VBA: преобразование градусов, минут и секунд в десятичные градусы

Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _
             InStr(1, pInput, "'") - InStr(1, pInput, _
             "°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
            2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
            / 3600
ConvertDecimal = xDeg + xMin + xSec
End Function

3. Сохраните код и закройте окно, выберите пустую ячейку, например, Ячейку A1, введите эту формулу. = ConvertDecimal ("10 ° 27 '36" "") («10 ° 27 '36» «» обозначает градус, который вы хотите преобразовать в десятичный градус, вы можете изменить его по своему усмотрению), затем щелкните Enter кнопка. Смотрите скриншоты:

введите формулу стрелка результат перевода градусов, минут, секунд в десятичные градусы

Относительные статьи