数学里面,用度(°)、分(′)、秒(″)表示角度,1°=60′,1′=60″。如下表所示,要将A列单元格里面的度分秒(°′″)转换成度(°),该如何操作呢?
打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。
点击【插入】、【模块】。
在模块代码框里面输入以下VBA程序代码,确认无误后按下【F5】键运行程序。 Sub DuFenMiao() Dim i2, i3, i4, i5, i6, arr1, arr2 On Error Resume Next '忽略运行过程中可能出现的错误 Set mysheet2 = ThisWorkbook.Worksheets("Sheet2") '定义Sheet2 arr1 = Array("°", "′", "″") '度分秒数组合集 arr2 = Array(1, 60, 3600) ' 1°=60′,1°=3600″ For i2 = 2 To 1000 '从第2行到1000行 If mysheet2.Cells(i2, 1) <> "" Then '如果单元格不是空白,则 i4 = 0 For i3 = 0 To 2 i6 = i4 i4 = InStr(1, mysheet2.Cells(i2, 1), arr1(i3)) '获取°′″所在的位置 If i3 = 0 Then i5 = Mid(mysheet2.Cells(i2, 1), 1, i4 - 1) '截取°前面的字符 Else i5 = Mid(mysheet2.Cells(i2, 1), i6 + 1, i4 - i6 - 1) / arr2(i3) + i5 End If Next mysheet2.Cells(i2, 2) = i5 & arr1