DataBodyRange.Columns
уже даст вам столбцы в таблице.Так зачем изменять это к этому?Я думаю, что вы хотите найти фактический столбец в таблице, а не в таблице?
Также Range("A1" & lcol)
в вашем фактическом коде неверен.Если ваш последний столбец 10, то "A1" & lcol
становится A110
.Смотрите код ниже.
Это то, что вы пытаетесь?Я предполагаю, что строка 1 активного листа имеет заголовки.
Sub rezise_table()
Dim lcol As Long, lRow As Long
Dim lastCol As String
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
lcol = .Cells(1, .Columns.Count).End(xlToLeft).Column
lRow = 3 '<~~ 2 rows + 1 Header row
lastCol = Split(.Cells(, lcol).Address, "$")(1)
.ListObjects("tblN").Resize .Range("A1:" & lastCol & lRow)
End With
End Sub
