Существуют ли какие-либо хорошие & эффективный способ с VBA для изменения таблицы со многими фильтрами, применяемыми для удаления всех остальных данных, которые не имеют значения (не фильтруются)? Цель состоит в том, чтобы удалить из xlsm данные, которые вам не нужны. Благодарю.Код VBA для замены таблицы фильтрами с отфильтрованными данными
0
A
ответ
0
Это то, что вы хотите ???
Sub DropHidden()
Dim EquivRange As Range, r As Range
Dim lo As ListObject
Dim nFirstRow As Long, nLastRow As Long
Set lo = ActiveSheet.ListObjects(1)
With lo
Set EquivRange = .DataBodyRange
nFirstRow = EquivRange.Row
nLastRow = EquivRange.Rows.Count + EquivRange.Row - 1
For i = nLastRow To nFirstRow Step -1
Set r = Cells(i, 1).EntireRow
If r.Hidden Then
r.Delete
End If
Next i
.Unlist
End With
End Sub
0
Как иногда упоминаются хотя вопросы таблиц, но на самом деле ссылка относится к диапазонам данных, а также не ясно, чтобы требование, является ли удалить целые строки или только отфильтрованную часть строки. Я обеспечиваю четыре процедуры высоких будет работать в следующих ситуациях:
таблицы Excel - Удалить Нефильтруемые товары - весь ряд
Sub Lob_Delete_NonFilteredItems_EntireRow() Dim Lob As ListObject, rRow As Range 'Set Lob = ActiveSheet.ListObjects(TblName) 'Set Table Name as required Set Lob = ActiveSheet.ListObjects(1) 'Set Table Index as required For Each rRow In Lob.DataBodyRange.Rows If rRow.EntireRow.Hidden Then rRow.EntireRow.Delete Next End Sub
Excel Таблица - Удалить Нефильтруемые товары - Row Перемещение вверх
Sub Lob_Delete_NonFilteredItems_RowShiftUp() Dim Lob As ListObject, rVsble As Range, rRow As Range, rDel As Range Rem Set List Object - Excel Table 'Set Lob = ActiveSheet.ListObjects(TblName) 'Set Table Name as required Set Lob = ActiveSheet.ListObjects(1) 'Set Table Index as required Rem Set Filtered Range Set rVsble = Lob.DataBodyRange.SpecialCells(xlCellTypeVisible) Rem Set Filters Off rVsble.Cells(1).Activate On Error Resume Next ActiveSheet.ShowAllData On Error GoTo 0 Rem Set Range To be Deleted For Each rRow In Lob.DataBodyRange.Rows If Application.Intersect(rRow, rVsble) Is Nothing Then If rDel Is Nothing Then Set rDel = rRow Else Set rDel = Union(rDel, rRow) End If: End If: Next Rem Delete Rows rDel.Delete Shift:=xlUp End Sub
Диапазон Excel - Удалить Нефильтруемые товары - Весь ряд
Sub Rng_Delete_NonFilteredItems_EntireRow() Dim rBdy As Range, rRow As Range Rem Validate Worksheet AutoFilter If ActiveSheet.AutoFilter Is Nothing Then Exit Sub Rem Set AutoFilter Range With ActiveSheet.AutoFilter.Range Set rBdy = .Offset(1, 0).Resize(-1 + .Rows.Count) End With For Each rRow In rBdy.Rows If rRow.EntireRow.Hidden Then rRow.EntireRow.Delete End If Next End Sub
Excel Range - Удалить Нефильтруемые товары - Row Сдвиг вверх
Sub Rng_Delete_NonFilteredItems_RowShiftUp() Dim rBdy As Range, rVsble As Range, rRow As Range, rDel As Range Rem Validate Worksheet AutoFilter If ActiveSheet.AutoFilter Is Nothing Then Exit Sub Rem Set AutoFilter Range With ActiveSheet.AutoFilter.Range Set rBdy = .Offset(1, 0).Resize(-1 + .Rows.Count) End With Rem Set Filtered Range Set rVsble = rBdy.SpecialCells(xlCellTypeVisible) Rem Set Filters Off On Error Resume Next ActiveSheet.ShowAllData On Error GoTo 0 Rem Set Range To be Deleted For Each rRow In rBdy.Rows If Application.Intersect(rRow, rVsble) Is Nothing Then If rDel Is Nothing Then Set rDel = rRow Else Set rDel = Union(rDel, rRow) End If: End If: Next Rem Delete Rows rDel.Delete Shift:=xlUp End Sub
Смежные вопросы
- 1. ПОЛНАЯ ВНЕШНЯЯ ВСТУПЛЕНИЕ с отфильтрованными данными
- 2. Кэширование стратегий с выгружаемыми/отфильтрованными данными
- 3. Изменение местоположения ячеек с отфильтрованными данными
- 4. simple_form grouped_select group_method с отфильтрованными данными
- 5. openpyxl read excel с отфильтрованными данными
- 6. Excel 2007: список проверки данных с отфильтрованными данными
- 7. Как обновить таблицу с отфильтрованными данными в магистрали
- 8. Создать таблицу с данными, отфильтрованными из данных на другом листе
- 9. Как связать с отфильтрованными или сгруппированными данными образца Sketchflow?
- 10. Перерисовать кольцо с отфильтрованными данными при щелчке узла в d3plus
- 11. Модуль замены/замены Excel VBA
- 12. Как заполнить combobox в vb.net с отфильтрованными данными из таблицы msaccess
- 13. Как получить внутренний запрос соединения с отфильтрованными данными в SQL?
- 14. Word VBA для поиска/замены таблиц
- 15. Excel код VBA для замены в определенном столбце
- 16. Excel VBA код для замены всех "." по "," в столбце
- 17. Excel код VBA для замены строки в диапазоне ячеек
- 18. VBA для поиска/замены информации с одного листа на другой
- 19. Попытка запроса таблицы с несколькими фильтрами
- 20. SQLAlchemy сопоставление столбцов таблицы с фильтрами
- 21. Переупорядочение столбцов таблицы Excel с фильтрами Intact
- 22. Код VBA для добавления связанной таблицы с основным ключом
- 23. VBA Excel - код VBA для поиска ячеек для 1-й строки 3-х цифр и замены
- 24. Django Комплексные запросы, соединяющие таблицы с фильтрами
- 25. JQuery код для замены слов
- 26. Perl-код для замены строки
- 27. Проведите между отфильтрованными изображениями для андроида
- 28. NumberFormat VBA с пользовательскими данными
- 29. XSLT - код замены для строки
- 30. файл с фильтрами utf8 с фильтрами utf8