我已经阅读了多个上述讨论,并且所有答案似乎都是特定于代码的。 当我从按钮运行代码时,它会在最后一行之前退出,因此不会删除最后一个范围。如果我再次按下按钮,则其余部分将被删除。 尝试了各种方法来解决该问题-如果句子是最新的。希望你们能帮忙
如果句子在While循环中,则通过等待命令在最后几行之间延迟。
Sub NewFileNoPrices_Click()
Dim i As Long
插入为编辑内容:(可能导致问题进一步降低)
Dim mySheetNames() As Variant
i = 0
mySheetNames = Array("Exchange Rates", "Raw Prices", "Summing Parts")
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Sheets(mySheetNames).Delete
On Error GoTo 0
Application.DisplayAlerts = True
来自原始帖子
Do While i < 2
i = i + 1
If i = 1 Then
ThisWorkbook.Sheets("Ordering Tool").Columns("I:AI").Delete xlLeft
End If
If i = 2 Then
ThisWorkbook.Sheets("Product Cost Tool").Rows("60:97").Delete xlUp
End If
Loop
End Sub
此外,我想在此子项中添加更多内容-删除第一个范围后的所有编码都无法全速执行,但是在调试模式下效果很好。
答案 0 :(得分:0)
这很奇怪,因为它也应该放在第二个“ if”中。尝试使用以下代码:
Sub TestMe()
Dim i As Long
i = 0
Do While i < 2
Debug.Print i
i = i + 1
If i = 1 Then
MsgBox i
End If
If i = 2 Then
MsgBox i
End If
Debug.Print i
Debug.Print "-------"
Loop
End Sub
并查看其工作方式以及是否同时发送两个msgbox。如果不是这种情况,请进一步调试,找出为什么两个MsgBox
都不可见。
这是运行代码后立即窗口( Ctrl + G)的外观: