我正在尝试创建一个Do While循环,其中包含一个if语句。根据If语句的TRUE / FALSE值,它可以进入另一个(子)Do While循环,或者只是循环回到第一个循环,然后重新开始。
我的问题是,一旦If语句返回“TRUE”值,宏就会执行结果但是会停止我想要继续的第一个覆盖Do While循环。 (基本上,一旦If语句中存在TRUE值,它就不会为x + 1生成另一个循环)
提前感谢您的帮助
'x is row in input tab
Dim x As Integer
'z is column in input tab
Dim z As Integer
x = 9
Do While x < 59
If Sheets("Input Tool (Auction Team)").Cells(x, "C") = "N" And Cells(x, "D") = "Yes" Then
'insert row and add values
Sheets("Round Results (Auction Team)").Range("C13").EntireRow.Insert
z = 5
Do While z < 19
Sheets("Input Tool (Auction Team)").Cells(x, z).Copy
Sheets("Round Results (Auction Team)").Cells(13, z - 2).PasteSpecial Paste:=xlPasteValues
Sheets("Round Results (Auction Team)").Cells(14, z - 2).Copy
Sheets("Round Results (Auction Team)").Cells(13, z - 2).PasteSpecial Paste:=xlPasteFormats
Sheets("Round Results (Auction Team)").Cells(14, 2).Copy Cells(13, 2)
z = z + 1
Loop
Else
End If
x = x + 1
Loop
End Sub
答案 0 :(得分:1)
使用其父对象限定不合格的对象引用。
例如,我看到'Cells(x,“ D”)'。将该范围限定为父级工作表,如下所示:
Sheets("Input Tool (Auction Team)").Cells(x,"D")