这是我的代码:
For Each cell In Range("A1:A13")
If cell.Value = "Totals" Then
Else
Sheets(1).Range("A2:G4").Select
Selection.Copy
wb2.Activate
Sheets(1).Range("A2").Select
ActiveSheet.Paste
End If
Next cell
我希望它在Then
之后什么也不做,但是即使它找到单词'Totals',它仍然会在Else
之后运行代码。我想要的是,如果“总计”一词在该范围内,则什么也不做。
答案 0 :(得分:3)
与其在循环内进行复制粘贴并冒险运行13次,不如设置一次标志(如果找到“总计”)并在循环后运行代码一次,如下所示:
Dim found as Boolean
For Each cell In Range("A1:A13")
If cell.Value = "Totals" Then found = True
Next cell
If Not found then
Sheets(1).Range("A2:G4").Select
Selection.Copy
wb2.Activate
Sheets(1).Range("A2").Select
ActiveSheet.Paste
End If
并且请查看this answer来摆脱Select
和Activate
,因为它容易出错。