Excel宏或VBA使选定范围值绝对

时间:2015-07-31 12:26:39

标签: 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   -12.48999977

3 个答案:

答案 0 :(得分:1)

不完全是VBA,但如果需要可以记录。

选择您的数据范围,按Ctrl H(替换),在查找内容中添加“ - ”符号并全部替换。这将从所有数字中删除负号,它将变为绝对值。

注意:正如评论中提到的,OP同意这适用于他,因此张贴作为答案。

答案 1 :(得分:0)

您可以这样做:

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更改为您想要获取绝对值的任何单元格范围。

希望代码很容易理解,但基本思想是我们将声明一个特定的范围,遍历该范围内的每个单元格,并通过应用{{}将该单元格的值更改为绝对值。 1}}功能。

答案 2 :(得分:0)

考虑:

Sub dural()
    Dim rng As Range
    Set rng = Range("A1:F10")
    rng.Replace what:="-", lookat:=xlPart, replacement:=""
End Sub