首页 > 解决方案 > 将纬度/经度批量转换为十进制格式作为excel VBA?

问题描述

我有一个电子表格,其 A 列中的纬度和 B 列中的经度,格式为:34° 3' 8.0460。

我希望能够运行一个工具,当您按下按钮时(在将数据粘贴到 A 和 B 列之后),将返回 C 和 D 列,它们分别是 A 和 B 的十进制值。

我见过一些可以调用单个单元格来获得结果的函数,但我需要能够一键转换数百个单元格。也许包括一个运行脚本的“转换”按钮?

关于可以解决问题的 VBA 代码的任何想法?

我对使用编码还很陌生。

标签: excelvbadictionarycoordinatesformula

解决方案


这篇 Microsoft 文章对此进行了详细介绍

要应用于范围内的所有单元格,您可以简单地使用:

Sub foo()
    With Sheet1.Range("C2:D" & Cells(Rows.count, "A").End(xlUp).row)
        .FormulaR1C1 = "=Convert_Decimal(RC[-2])"
        .Value = .Value
    End With
End Sub

推荐阅读