วิธีการแปลงองศาทศนิยมเป็นองศานาทีวินาทีใน Excel
บางครั้งคุณอาจมีรายการข้อมูลที่แสดงเป็นองศาทศนิยมในแผ่นงานและตอนนี้คุณต้องแปลงองศาทศนิยมเป็นองศานาทีและวินาทีตามที่แสดงในภาพหน้าจอต่อไปนี้คุณจะสนทนาอย่างรวดเร็วใน 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 คลิก วิ่ง หรือกด F5 เพื่อเรียกใช้ VBA
4. กล่องโต้ตอบที่แสดงบนหน้าจอและคุณสามารถเลือกเซลล์ที่คุณต้องการแปลงได้ ดูภาพหน้าจอ:
5 คลิก OKจากนั้นข้อมูลที่เลือกจะถูกแปลงเป็นองศานาทีและวินาที ดูภาพหน้าจอ:
ปลาย: การใช้โค้ด VBA ด้านบนจะทำให้ข้อมูลดั้งเดิมของคุณสูญหายดังนั้นคุณควรคัดลอกข้อมูลก่อนที่จะเรียกใช้โค้ด
แปลงองศานาทีวินาทีเป็นองศาทศนิยมด้วย VBA
บางครั้งคุณอาจต้องการแปลงข้อมูลเป็นองศา / นาที / วินาทีโดยจัดรูปแบบเป็นองศาทศนิยมรหัส VBA ต่อไปนี้สามารถช่วยให้คุณทำมันได้อย่างรวดเร็ว
1 ถือ ALปุ่ม T แล้วกด F11 บนแป้นพิมพ์เพื่อเปิดหน้าต่าง Microsoft Visual Basic for Application
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" "" หมายถึงองศาที่คุณต้องการแปลงเป็นองศาทศนิยมคุณสามารถเปลี่ยนได้ตามต้องการ) จากนั้นคลิก เข้าสู่ ปุ่ม. ดูภาพหน้าจอ: