如果满足条件,则将正数更改为负数

时间:2019-03-18 09:44:58

标签: excel vba

我有一个列表,其中一列中的所有金额都设置为Dr和Cr格式,并且我记录了一个宏,该宏会自动过滤并搜索“ Cr”符号并将其更改为负数,但是当我的列表增加并更新时,此宏无法正常工作。我在VBA中使用了自动过滤器,但没有一个能完美运行。

我正在寻找一个代码,当它在列中找到“ Cr”时,应将其更改为负数。

click here for image

1 个答案:

答案 0 :(得分:0)

尝试可能会有所帮助:

Option Explicit

Sub test()

    Dim ws As Worksheet
    Dim Lastrow As Long, Row As Long

    With ThisWorkbook.Worksheets("Sheet1")
        'Find Last row of column A in sheet ws
        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

            'Loop rows from bottom to top
            For Row = 1 To Lastrow

                'Check value lenght
                If Right(.Range("A" & Row).Value, 2) = "Cr" Then
                    .Range("A" & Row).Value = Abs(.Range("A" & Row).Value) * -1
                End If

            Next Row

    End With

End Sub