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

列W我有BALANCE2值&在X列我有BALANCE3

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

任何人都可以帮助这个工作吗? 我不知道该怎么做

试试这个:

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 

不要为此使用macros

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

=IF(X1>0,X1,W1)

然后将其拖放到整个列中,将列Z剪切并粘贴到列W ,然后无需编写macros代码即可“覆盖”