使用 VBA 从表中删除空白条目

我有一个用于运行计算的输入表。该表中有空行会影响计算。现在我有一个宏,可以在每次进行任何更改时对表格进行排序,因此所有空白行都收集在表格底部。所以我只需要在每次计算之前手动调整表格的大小。

您可以在此处的表格底部看到一个空行。我不知道如何删除它,以便表格以最后一个非空条目结束

在此处输入图片说明

但我想知道是否有办法使用 VBA 将表格网格捕捉回最后一个非空行并从表格中删除空行。谢谢!

法尼杜鲁

请使用下一个Sub过滤后将删除所有表空行。我的意思是最后的(空的):

Private Sub deleteTableEmptyRows(Optional TblD As Range) 'calculate table last empty rows
   Dim lastShER As Long, lastShTblR As Long, lastTblER As Long, lastTblR As Long
   
   If TblD Is Nothing Then Set TblD = ActiveSheet.ListObjects(1).DataBodyRange
   lastShER = TblD.cells(TblD.rows.count, 1).End(xlUp).row + 1 'last empty row on the sheet (no needed, only to demonstrate how to calculate)
     lastTblER = lastShER - (TblD.row - 1)                     'last empty row on the table DataBodyRange
   lastShTblR = TblD.rows.count + TblD.row                     'last table row on the sheet
     lastTblR = lastShTblR - TblD.row                          'last table row
   If lastTblER > 1 Then TblD.rows(lastTblER & ":" & lastTblR).Select 'please, change Select with Delete, only after checking that selected range is as you need
End Sub

可以这样调用:

Sub testDeleteTableEmptyRows()
    Dim TblD As Range
     Set TblD = ActiveSheet.ListObjects(1).DataBodyRange 'use here the table name (or index)
     deleteTableEmptyRows TblD
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章