我有一个数据库,其中有几列,以以下格式存储高度数据...
8 英尺 4 英寸
5 英尺 1 英寸
8 英尺 6 英寸
12 英尺 0 英寸
依此类推...3 列超过 20k 条记录。我需要使用 Excel 公式或 VBA 模块将其转换为十进制英尺。我改编了另一个 VBA 脚本,用于将以度分秒列出的坐标转换为十进制度,但我不确定哪里出错了...
Function ConvertFtInches(pInput As String) As Double
'Updateby20140227
Dim xFt As Double
Dim xIn As Double
xFt = Val(Left(pInput, InStr(1, pInput, " ft") - 1))
xIn = Val(Mid(pInput, InStr(1, pInput, " ft") + 2, _
InStr(1, pInput, " in") - InStr(1, pInput, _
" ft") - 2)) / 12
ConvertFtInches = xFt + xIn
End Function
....我可能完全不知道,因为我是 VBA 的初学者。这个剧本肯定有问题,因为它是根据不同的剧本改编的。可能有一个excel公式更容易使用。
希望有人能帮忙。所有其他线程都包含与我的格式不同的值的转换。谢谢!
最佳答案
一行VBA:
Function ConvertFtInches(pInput As String) As Double
ConvertFtInches = Split(pInput, " ft ")(0) + Split(Split(pInput, " ft ")(1), " in")(0) / 12
End Function
关于vba - 使用 VBA 或 Excel 将英尺和英寸(例如 "5 ft 1 in")转换为十进制英尺,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45514995/