Bagaimana cara mengubah derajat desimal menjadi derajat menit detik di Excel?
Terkadang, Anda mungkin memiliki daftar data yang ditampilkan sebagai derajat desimal di lembar kerja, dan sekarang Anda perlu mengonversi derajat desimal ke format derajat, menit dan detik seperti yang diperlihatkan sebagai tangkapan layar berikut, bagaimana Anda bisa mendapatkan percakapan dengan cepat di Excel?
Ubah derajat desimal menjadi derajat, menit, detik dengan VBA
Ubah derajat, menit, detik ke derajat desimal dengan VBA
Ubah derajat desimal menjadi derajat, menit, detik dengan VBA
Ikuti langkah-langkah di bawah ini untuk mengubah derajat desimal menjadi derajat, menit, dan detik dengan kode VBA.
1. Memegang ALT tombol dan tekan F11 pada keyboard untuk membuka a Microsoft Visual Basic untuk Aplikasi jendela.
2. klik Menyisipkan > Modul, dan salin VBA ke dalam modul.
VBA: Ubah derajat desimal menjadi derajat, menit dan detik
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. klik Run tombol atau tekan F5 untuk menjalankan VBA.
4. Sebuah dialog ditampilkan di layar, dan Anda dapat memilih sel yang ingin Anda ubah. Lihat tangkapan layar:
5. klik OK, kemudian data yang dipilih diubah menjadi derajat, menit dan detik. Lihat tangkapan layar:
jenis: Menggunakan kode VBA di atas akan kehilangan data asli Anda, jadi sebaiknya Anda menyalin data sebelum menjalankan kode.
Ubah derajat, menit, detik ke derajat desimal dengan VBA
Terkadang, Anda mungkin ingin mengonversi data dalam format derajat / menit / detik ke derajat desimal, kode VBA berikut dapat membantu Anda menyelesaikannya dengan cepat.
1. Memegang ALTombol T dan tekan F11 pada keyboard untuk membuka jendela Microsoft Visual Basic for Application.
2. klik Menyisipkan > Modul, dan salin VBA ke dalam modul.
VBA: Ubah derajat, menit dan detik menjadi derajat desimal
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. Simpan kode dan tutup jendela, pilih sel kosong, misalnya, Sel A1, masukkan rumus ini = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" adalah derajat yang ingin Anda ubah menjadi derajat desimal, Anda dapat mengubahnya sesuai kebutuhan), lalu klik Enter tombol. Lihat tangkapan layar: