繁体   English   中英

如果> 0,则Excel VBA将单元格值复制到左侧的单元格

[英]Excel VBA to copy cell value if > 0 to cell to the left

列W中,我有BALANCE2值,在列X中,我有BALANCE3

我需要移动BALANCE3中的值(大于零)来覆盖BALANCE2中的相应单元格,以便我有一个完整的付款列表。

任何人都可以帮忙使用这个吗? 我不知道怎么做。

不要为此使用宏

只需使用excel的内置IF ,例如,假设BALANCE2W列而BALANCE3X列,写入单元格Z1

=IF(X1>0,X1,W1)

然后将其拖动到整个列,将列Z剪切并粘贴到W列,然后在没有编写宏代码的情况下进行“覆盖”

试试这个:

Public Sub overwriteValues()

    Dim row As Integer

    'Set start row
    row = 1

    With Sheets("sheetname")

        'Loop until column X cell is blank
        'You can modify column if you want other
        Do While .Range("X" & row) <> ""

            If .Range("X" & row) > 0 Then

                .Range("W" & row) = .Range("X" & row)

            End If

            'Increase row
            row = row + 1

        Loop

    End With

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM