2017-08-02 89 views
0

我有一個很棒的Excel工作表,我將信息從具有表格的新工作表中檢索出來。問題是我不知道表中的行數,因爲數據是動態的。之後我還必須打印表格,但它會複製原始數據中的空白行。所以我所做的是,我在下面創建了這個代碼來過濾表並隱藏所有空行。它完全符合我的要求 - 隱藏空行。但每當表格中的數據需要刷新(複製和粘貼)時,excel會詢問我是否要刪除整個表格行。如果我點擊是,它會刷新數據,但如果我點擊否,它會繼續添加新的數據,原來在表中.--這不是我想要的。excel - 「刪除整行」對話框

LastRow = Worksheets("KYC Feedback Page 2").Range("A65536").End(xlUp).Row 
LastColumn = Replace(Cells(1, 
ActiveSheet.Range("XFD1").End(xlToLeft).Column).Address(False, False), "1", 
"") 
On Error Resume Next 
With Worksheets("KYC Feedback Page 2").Range("A1:" & LastColumn & LastRow) 
.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlFilterValues 
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.delete 
End With 
On Error Resume Next 
Sheet1.AutoFilterMode = False 
+0

如果有任何建議,我如何刪除表中的空行? – cookiemonster

+0

查看https://stackoverflow.com/questions/9379673/excel-vba-delete-empty-rows – dwirony

回答

1

我不知道我是否正確理解了你,但試試這段代碼。您可以實現您的請求,我認爲在您的代碼中添加Application.DisplayAlerts

Application.DisplayAlerts = False 

LastRow = Worksheets("KYC Feedback Page 2").Range("A65536").End(xlUp).Row 
LastColumn = Replace(Cells(1, 
ActiveSheet.Range("XFD1").End(xlToLeft).Column).Address(False, False), "1", 
"") 
On Error Resume Next 
With Worksheets("KYC Feedback Page 2").Range("A1:" & LastColumn & LastRow) 
.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlFilterValues 
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.delete 
End With 
On Error Resume Next 
Sheet1.AutoFilterMode = False 

Application.DisplayAlerts = True 
+0

它仍然顯示對話框 – cookiemonster