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

delete blank rows on an excel worksheet, in a different excel workbook, using vba

我有2本作业本。 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

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

假设我在工作表 1 Book_A 中有行,使用 vba 编辑器,

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

和运行宏,

工作表 1 Book_A 中的空白行被删除。

................................................ .....................

**但是: 此代码无法让我从 Book_B worksheet1.

中删除 Book_A worksheet1 中的空白行

我想从 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