使用vba删除excel工作表上的空行,在另一个excel工作簿中

我有两本工作书 Book_A和Book_B。

我想从Book_B工作表1中删除Book_A工作表1中的空白行。

我已经使用VBA编写了一个代码来删除空行。

Sub RemoveEmptyRows() ' this macro will remove all rows that contain no data Dim i As Long Dim LastRow As Long LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row Application.ScreenUpdating = False For i = LastRow To 1 Step -1 If WorksheetFunction.CountA(ActiveSheet.Rows(i)) = 0 Then ActiveSheet.Rows(i).EntireRow.Delete End If Next i Application.ScreenUpdating = True End Sub 

此代码的作品,使我能够删除工作表的空白行。

假设我在Book_A,worksheet1中使用了vba编辑器,

我为VBA项目Book_A插入一个模块并input编码,

并运行macros,

Book_A中的空行,worksheet1被删除。

………………………………………….. ……………………..

**但是:这段代码不会让我从Book_B工作表1中删除Book_A工作表1中的空白行。

我想从Book_B工作表1中删除Book_A工作表1中的空白行。

如何才能做到这一点? 我如何编辑我的编码? **

这很容易做到..

 Sub RemoveEmptyRows() ' this macro will remove all rows that contain no data Dim file_name as String Dim sheet_name as String file_name = "c:\my_folder\my_wb_file.xlsx" 'Change to whatever file you want sheet_name = "Sheet1" 'Change to whatever sheet you want Dim i As Long Dim LastRow As Long Dim wb As New Workbook Set wb = Application.Workbooks.Open(file_name) wb.Sheets(sheet_name).Activate LastRow = wb.ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row Application.ScreenUpdating = False For i = LastRow To 1 Step -1 If WorksheetFunction.CountA(wb.ActiveSheet.Rows(i)) = 0 Then wb.ActiveSheet.Rows(i).EntireRow.Delete End If Next i Application.ScreenUpdating = True End Sub