如果…则用于校正角度测量的语句

时间:2019-01-30 19:33:23

标签: excel vba

我正在尝试自动化一个脚本,该脚本会自动将角度方向的测量值校正到0-360范围内。每次我运行代码时,都会出现运行时错误13,但键入不匹配。当我要求调试时,它会突出显示该函数的“然后”部分,但我不知道具体要更改什么。

 Dim k As Integer
    For k = 4 To 1004
    If Cells(k, 5).Value > 360 Then Cells(k, 5).Value = Cells(k, 5).Value - 360
    If Cells(k, 5).Value < 0 Then Cells(k, 5).Value = Cells(k, 5).Value + 360
Next k

1 个答案:

答案 0 :(得分:0)

您可以使用Abs和Mod覆盖这两个更正。

Dim k As Integer
For k = 4 To 1004
    Cells(k, 5).Value = Abs(Cells(k, 5).Value Mod 360)
Next k

如果-15°应该是345°,而不是15°,

Dim k As Integer
For k = 4 To 1004
    Cells(k, 5).Value = Abs(Cells(k, 5).Value Mod 360 - (Cells(k, 5).Value < 0) * 360)
Next k