我需要一些帮助来解决这个问题。我创建了一个小脚本,如果单元格中的数值为负数,则将其更改为正数,反之亦然。例如,如果值为 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]