我正在尝试自动化一个脚本,该脚本会自动将角度方向的测量值校正到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
答案 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