Excel宏或VBA用于使选定范围值为绝对值
是否有人可以帮助我使用Excel VBA通过单个按钮将所选范围值的所有值设置为绝对值(或对范围内的每个单元格应用绝对公式)Excel宏或VBA用于使选定范围值为绝对值,excel,vba,Excel,Vba,是否有人可以帮助我使用Excel VBA通过单个按钮将所选范围值的所有值设置为绝对值(或对范围内的每个单元格应用绝对公式) A B C 5.119999886 -13.06999969 -13.14000034 -5.76999998 -12.52000046 -12.78999996 -5.88000011 -13.69999981 -14.13000011 5.46999979 -12.61999989 -
A B C
5.119999886 -13.06999969 -13.14000034
-5.76999998 -12.52000046 -12.78999996
-5.88000011 -13.69999981 -14.13000011
5.46999979 -12.61999989 -12.48999977
您可以这样做:
Sub MakeAbsolute()
Dim c As Range
Dim rngToAbs As Range
'Set the worksheet name and range appropriately
Set rngToAbs = Worksheets("Sheet1").Range("A1:C2")
For Each c In rngToAbs
c.Value = Abs(c.Value)
Next c
End Sub
您需要将Sheet1
更改为工作表名称,并将A1:C2
更改为要获取绝对值的单元格范围
希望代码足够简单易懂,但基本思想是我们将声明一个特定的范围,循环该范围内的每个单元格,并通过应用Abs
函数将该单元格的值更改为绝对值。考虑:
Sub dural()
Dim rng As Range
Set rng = Range("A1:F10")
rng.Replace what:="-", lookat:=xlPart, replacement:=""
End Sub
不完全是VBA,但如果需要,可以记录 选择您的数据范围,按Ctrl键H(替换),在查找内容中添加“-”符号并全部替换。这将从所有数字中删除负号,它将变为绝对值
注:如评论中所述,OP同意这对他有效,因此作为答案发布。不完全是VBA,但如果需要可以记录,请选择您的数据范围,按Ctrl-H(替换),在“查找内容”“添加”-”中签名并全部替换。这将从所有数字中删除负号,它将变为绝对值。效果很好,但这需要时间,因为我有6列和150000行,无论如何,非常感谢,因为它解决了我的问题。谢谢,效果很好,但我不想修改范围或工作表名称,我想在工作簿中的任何地方使用它,只需选择所需的范围并运行宏/VBA代码。然后将
Set rng=range(“A1:F10”)
替换为Set rng=Selection
伟大的解决方案!简单快捷。非常感谢。