您好已使用以下代码从 table 中删除最后一行数据。该代码可以单独运行,但是当作为更大代码集的一部分运行时,它不会删除最后一行。任何有关导致此问题和解决方案的想法将不胜感激。
Sub TrimJrnl()
Dim wsR2 As Worksheet
Set wsR2 = ThisWorkbook.Sheets("Journal")
lastrow = wsR2.ListObjects("xJrnl").Range.rows.Count
rows(lastrow).Delete
End Sub
回答1
您需要统计
ListObjects("xJrnl").DataBodyRange
的行数,以便知道有多少数据行(标题行和摘要行除外)。您可以通过
ListObjects("xJrnl").ListRows(LastRow)
和.Delete
访问这些数据行。
如下:
Option Explicit
Public Sub TrimJrnl()
Dim wsR2 As Worksheet
Set wsR2 = ThisWorkbook.Sheets("Journal")
Dim LastRow As Long
LastRow = wsR2.ListObjects("xJrnl").DataBodyRange.Rows.Count
wsR2.ListObjects("xJrnl").ListRows(LastRow).Delete
End Sub
如何使用 tables 的一个很好的指南:https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables