VBA Как удалить строки таблицы

У меня есть таблица, которая может варьироваться в диапазоне (только строки) в зависимости от количества входов (строк).

Я написал код для переноса данных из таблицы в мою базу данных. Работает нормально.

Но в конце этого скрипта я хотел бы удалить строки таблицы, ожидая первую и вторую строки, где, соответственно, живут мои заголовки и моя формула.

Принимая во внимание, что общее количество строк может варьироваться, как я могу удалить все строки таблицы, кроме двух первых?

К вашему сведению

Диапазон таблицы (заголовки и первая строка): A18: D19.

    Dim Cl As Range
For Each Cl In Sheets("Data Entry").Range("A19:A1000")
    If Cl.Value = "" Then Exit For 'Exits on first empty cell
    Sheets("Source Ingredients").Range(Cl.Value).Value = Cl.Offset(, 2).Value

Заранее спасибо Грег


person Greg    schedule 15.07.2020    source источник
comment
Sheets("Data Entry").Range("A20:D10000").Clear? Или, может быть, найти последнюю строку и очистить ее вместо того, чтобы жестко ее кодировать?   -  person BigBen    schedule 15.07.2020


Ответы (1)


Это работает, где Table1 - это имя таблицы. Если вы не знаете, как это найти, щелкните таблицу, затем выберите Дизайн таблицы на баннере вверху, а имя таблицы будет вверху слева в разделе «Свойства».

Application.Range("Table1").ListObject.DataBodyRange.Offset(1, 0).Resize(Application.Range("Table1").ListObject.DataBodyRange.Rows.Count - 1, _
    Application.Range("Table1").ListObject.DataBodyRange.Columns.Count).Rows.Delete

С адресом, сокращенным с помощью оператора With:

With Application.Range("Table1").ListObject.DataBodyRange
    .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Rows.Delete
End With
person TerrifiedJelly    schedule 15.07.2020