Программное удаление всех строк динамической таблицы.
Сергей13
Дата: Суббота, 09.03.2019, 13:03 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Здравствуйте! Ребята, через запись действий пытаюсь записать макрос удаления всех строк динамической таблицы, типа полная очистка ненужного. Но в коде прописывается фиксированное количество удалений, в зависимости от созданных строк. Как это можно обойти, дабы удалить все строки таблицы (конечно за исключением начальной) в независимости от количества созданных строк. [vba]Код
Application.Goto Reference:="tabl_logbook" Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete
[/vba]
Здравствуйте! Ребята, через запись действий пытаюсь записать макрос удаления всех строк динамической таблицы, типа полная очистка ненужного. Но в коде прописывается фиксированное количество удалений, в зависимости от созданных строк. Как это можно обойти, дабы удалить все строки таблицы (конечно за исключением начальной) в независимости от количества созданных строк. [vba]Код
Application.Goto Reference:="tabl_logbook" Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete
[/vba] Сергей13
Сообщение отредактировал Сергей13 - Суббота, 09.03.2019, 13:04
Ответить
Сообщение Здравствуйте! Ребята, через запись действий пытаюсь записать макрос удаления всех строк динамической таблицы, типа полная очистка ненужного. Но в коде прописывается фиксированное количество удалений, в зависимости от созданных строк. Как это можно обойти, дабы удалить все строки таблицы (конечно за исключением начальной) в независимости от количества созданных строк. [vba]Код
Application.Goto Reference:="tabl_logbook" Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete Selection.ListObject.ListRows(1).delete
[/vba] Автор - Сергей13 Дата добавления - 09.03.2019 в 13:03
anvg
Дата: Суббота, 09.03.2019, 13:20 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация:
271
±
Замечаний:
0% ±
2016, 365
Доброе время суток Как-то так, если предполагать, что вы хотите удалять только строки в таблице (иначе если строки листа, то можно проще) [vba]Код
Dim i As Long For i = 1 To Selection.ListObject.ListRows.Count Selection.ListObject.ListRows(1).Delete Next
[/vba]
Доброе время суток Как-то так, если предполагать, что вы хотите удалять только строки в таблице (иначе если строки листа, то можно проще) [vba]Код
Dim i As Long For i = 1 To Selection.ListObject.ListRows.Count Selection.ListObject.ListRows(1).Delete Next
[/vba] anvg
Ответить
Сообщение Доброе время суток Как-то так, если предполагать, что вы хотите удалять только строки в таблице (иначе если строки листа, то можно проще) [vba]Код
Dim i As Long For i = 1 To Selection.ListObject.ListRows.Count Selection.ListObject.ListRows(1).Delete Next
[/vba] Автор - anvg Дата добавления - 09.03.2019 в 13:20
Pelena
Дата: Суббота, 09.03.2019, 13:28 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Как вариант [vba]Код
Activesheet.ListObjects("tabl_logbook").DatabodyRange.Delete
[/vba]
Как вариант [vba]Код
Activesheet.ListObjects("tabl_logbook").DatabodyRange.Delete
[/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Как вариант [vba]Код
Activesheet.ListObjects("tabl_logbook").DatabodyRange.Delete
[/vba] Автор - Pelena Дата добавления - 09.03.2019 в 13:28
Сергей13
Дата: Суббота, 09.03.2019, 14:11 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
anvg, Pelena , Ребята спасибо!Pelena , в результате пустой одной строки и случайного выполнения действия по удалению, выходит ошибка, с учетом этого установил обработчик ошибок. Думаю это не критично… [vba][/vba] Спасибо!
anvg, Pelena , Ребята спасибо!Pelena , в результате пустой одной строки и случайного выполнения действия по удалению, выходит ошибка, с учетом этого установил обработчик ошибок. Думаю это не критично… [vba][/vba] Спасибо!Сергей13
Сообщение отредактировал Сергей13 - Суббота, 09.03.2019, 14:12
Ответить
Сообщение anvg, Pelena , Ребята спасибо!Pelena , в результате пустой одной строки и случайного выполнения действия по удалению, выходит ошибка, с учетом этого установил обработчик ошибок. Думаю это не критично… [vba][/vba] Спасибо!Автор - Сергей13 Дата добавления - 09.03.2019 в 14:11
krosav4ig
Дата: Суббота, 09.03.2019, 14:28 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Сергей13 , проверку на пустоту можно так сделать [vba]Код
With [tabl_logbook].ListObject If .InsertRowRange Is Nothing Then .DataBodyRange.Delete End With
[/vba]
Сергей13 , проверку на пустоту можно так сделать [vba]Код
With [tabl_logbook].ListObject If .InsertRowRange Is Nothing Then .DataBodyRange.Delete End With
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Сергей13 , проверку на пустоту можно так сделать [vba]Код
With [tabl_logbook].ListObject If .InsertRowRange Is Nothing Then .DataBodyRange.Delete End With
[/vba]Автор - krosav4ig Дата добавления - 09.03.2019 в 14:28
Сергей13
Дата: Суббота, 09.03.2019, 14:56 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
krosav4ig , Лаконично, без наворотов. Спасибо!
krosav4ig , Лаконично, без наворотов. Спасибо!Сергей13
Ответить
Сообщение krosav4ig , Лаконично, без наворотов. Спасибо!Автор - Сергей13 Дата добавления - 09.03.2019 в 14:56