我想为执行以下操作的命令按钮创建VBA代码: 1.循环浏览除主工作表(已售)以外的所有工作表 2.如果满足条件(收费),则复制行 3.将行粘贴到主工作表(已出售)
到目前为止,我已经有了代码,但是我的问题是,它循环遍历包括主工作表在内的所有工作表(即主工作表中的重复信息),并且如果我尝试编写If ws.name <>“ Sold”,则代码停止工作给消息框错误。请帮我修改代码。
Private Sub CommandButton1_Click()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim i, LastRow
LastRow = ws.Range("A" & Rows.count).End(xlUp).Row
For i = 2 To LastRow
If ws.Cells(i, "M").Value = "Paid" Then
ws.Cells(i, "M").EntireRow.Copy Destination:=Sheets("Sold").Range("A" & Rows.count).End(xlUp).Offset(1)
End If
Next i
Next ws
End Sub
答案 0 :(得分:1)
我不知道您将IF语句放在哪里,但是它必须以这种方式工作:
Dim ws As Worksheet
Dim i, LastRow
For Each ws In Worksheets
If ws.Name <> "Sold" Then
LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If ws.Cells(i, "M").Value = "Paid" Then
ws.Cells(i, "M").EntireRow.Copy Destination:=Sheets("Sold").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End If
Next ws