Макрос VBA для удаления строк в размере таблицы по умолчанию

У меня есть макрос, который будет добавлять строки, поскольку вторая в нижнюю строку таблицы заполняется, но я хочу добавить второй макрос, чтобы изменить размер таблицы на 12 строк и 11 столбцов, если таблица более 12 строк, и нет данных в дополнительных рядах.

Вот макрос для добавления строк:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Declaration of Variables Dim sht As Worksheet Dim LastRow As Long 'Set sht as worksheet Set sht = ThisWorkbook.Worksheets("Sheet2") 'Set Lastrow LastRow = sht.ListObjects("Table1").Range.Rows.Count LastRow = LastRow + 4 'Check - is someone entering in account name for the last open row If Me.Range("B" & LastRow - 1) = "" Then 'User is not entering in account name in last open row, exit sub Exit Sub Else 'User is entering in account name in last open row - create new row Application.EnableEvents = False 'turn off event handlers which allows sub to execute Rows(LastRow).Select 'select the summary row Selection.EntireRow.Insert 'insert row above ActiveSheet.Range("F" & LastRow & ":L" & LastRow).Select 'select formulas only Selection.FillDown 'fill the formulas in ActiveSheet.Range("C" & LastRow - 1).Select 'on the row that is being entered, select Pipeline Stage Cell Application.EnableEvents = True 'turn on event handlers End If End Sub 

Я нашел этот макрос онлайн, но я не могу манипулировать им, чтобы делать то, что хочу, я хочу, чтобы макрос изменял размер таблицы до 12 строк на 11 столбцов, когда L14 <1

 Sub DeleteBlankRows1() 'Deletes the entire row within the selection if the ENTIRE row contains no data. 'We use Long in case they have over 32,767 rows selected. Dim i As Long 'We turn off calculation and screenupdating to speed up the macro. With Application .Calculation = xlCalculationManual .ScreenUpdating = False 'We work backwards because we are deleting rows. For i = Selection.Rows.Count To 1 Step -1 If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then Selection.Rows(i).EntireRow.Delete End If Next i .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With End Sub 

Вы можете попробовать что-то вроде этого …

 Sub DeleteTableRows() Dim ws As Worksheet Dim tbl As ListObject Dim r As Long, c As Long Set ws = Sheets("Sheet2") Set tbl = ws.ListObjects("Table1") For r = tbl.DataBodyRange.Rows.Count To 12 Step -1 If Application.CountIf(tbl.DataBodyRange.Rows(r), "?*") = 0 Then tbl.ListRows(r).Delete End If Next r For c = tbl.DataBodyRange.Columns.Count To 12 Step -1 tbl.ListColumns(c).Delete Next c End Sub 

Если вы хотите включить оператор IF для проверки строк таблицы, вы можете попробовать это следующим образом …

 Sub DeleteTableRows() Dim ws As Worksheet Dim tbl As ListObject Dim r As Long, c As Long, tblRows As Long Set ws = Sheets("Sheet2") Set tbl = ws.ListObjects("Table1") tblRows = tbl.DataBodyRange.Rows.Count If tblRows > 12 Then For r = tbl.DataBodyRange.Rows.Count To 12 Step -1 If Application.CountIf(tbl.DataBodyRange.Rows(r), "?*") = 0 Then tbl.ListRows(r).Delete End If Next r For c = tbl.DataBodyRange.Columns.Count To 12 Step -1 tbl.ListColumns(c).Delete Next c End If End Sub 
Interesting Posts

Необходимая ошибка объекта цикла forEach

Как я могу взять файл excel и преобразовать его столбцы в списки в Python?

VBA Excel: Замена всех листов. Значение CodeName значением .Name

служить и excel шаблон для скачивания в angularjs

Вызов sub из другого с использованием переменных даты в ACCESS vba

Строка Can Line может быть построена как полутвердая, полуточечная линия?

Лист 1 имеет три таблицы с одинаковыми заголовками, разделенные на 1 строку. Скопируйте каждый стол в новый лист и объедините три таблицы в 1

Laravel Экспорт данных в файл Excel необходимо изменить

необходимо обновить данные на другом листе EXCEL

Чтение содержимого изображения в файле Excel – с помощью Perl

где экспортируется файл после нажатия кнопки экспорта?

Обработка подстановочных знаков стандартными символами в формуле INDEX (MATCH (COUNTIF ()))

Лучшая программа для анализа данных из циклов

Удалить ленту из Excel

Количество записей в VBA в сравнении с доступом

Давайте будем гением компьютера.