问题描述
我从 excel 工作表中检索数据,并使用宏将其复制到 word 中。我需要删除我定义范围内的空行,因此使用以下方法:
Sub deleteRows()
Application.displayAlerts = False
Dim rows As Long,i As Long
Set r = ActiveSheet.Range("C3:C100")
rows = r.rows.Count
For i = rows To 1 Step (-1)
If WorksheetFunction.CountA(r.rows(i)) = 0 Then r.rows(i).Delete
Next
Application.displayAlerts = True
End Sub
现在我想禁用询问我是否要删除整行的弹出窗口。现在这里的另一篇文章提出的简单解决方案显然是将 displayAlerts 设置为 False。现在这行不通,这是正确的,因为应用程序在 Word 中,而不是在弹出窗口源自的 Excel 中。
有谁知道如何禁用跨应用程序的弹出窗口吗?
非常感谢!
解决方法
再次考虑我的问题后,我自己找到了替代解决方案。如果有人手上有类似的问题,我想我会把它留在这里:
Sub deleteRows()
Dim rows As Long,i As Long
Set r = ActiveSheet.Range("C3:C100")
rows = r.rows.Count
For i = rows To 1 Step (-1)
If WorksheetFunction.CountA(r.rows(i)) = 0 Then r.rows(i).EntireRow.Delete
Next
End Sub
我使用了 EntireRow 方法,所以一开始我什至没有从 Excel 收到警报。