反转数字的宏

反转数字的宏

我需要一些帮助来解决这个问题。我创建了一个小脚本,如果单元格中的数值为负数,则将其更改为正数,反之亦然。例如,如果值为 100,则脚本会将其更改为 -100,如果值为 -100,则将其更改为 100。我能够让它在一个单元格上工作,但现在我想在一系列单元格上实现,例如从 B33 到 B50 的所有单元格。提前致谢。

Sub Sing_Change()

If Range("E9") > 0 Then
    Range("E9") = -(Range("E9"))
    Else
    Range("E9") = Abs(Range("E9"))
End If

End Sub

答案1

循环遍历指定范围的非常基本的代码。

Sub test()

    Set myrange = Range("A1:A2") 'Set range here

    For Each cell In myrange
        'your code here e.g. cell.value = -cell.value or whatever
    Next cell

End Sub

答案2

如果您想避免循环,可以使用带括号的单行代码[],要求宏评估您想要执行的操作。与所有强大的功能一样,它伴随着巨大的责任。

[B33:B50] = [-B33:B50]

相关内容