Vba: как выбрать все ячейки, содержащие данные
Вы можете использовать следующие методы в VBA, чтобы выбрать все ячейки, содержащие данные на листе:
Способ 1: выберите сетку ячеек с данными
SubSelectCellsWithData ()
Range(" A1 ").CurrentRegion.Select
End Sub
Этот конкретный макрос выберет сетку ячеек с данными, начиная с ячейки A1 текущего активного листа.
Способ 2: выберите отдельные ячейки с данными
SubSelectCellsWithData ()
Worksheets(" Sheet1 ").Activate
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Activate
End Sub
Этот конкретный макрос выберет все отдельные ячейки, содержащие данные из Sheet1 .
В следующих примерах показано, как использовать каждый метод на практике со следующим листом под названием «Лист1» в Excel:
Пример 1. Выберите сетку ячеек с данными
Предположим, мы хотим выбрать сетку ячеек, содержащую данные на Листе Sheet1 .
Для этого мы можем создать следующий макрос:
SubSelectCellsWithData ()
Range(" A1 ").CurrentRegion.Select
End Sub
Когда мы запустим этот макрос, мы увидим, что выбрана вся сетка ячеек, содержащая данные на Листе 1 :
Обратите внимание, что этот метод использует свойство CurrentRegion для выбора диапазона ячеек, заключенных в пустые ячейки.
Полную документацию по свойству CurrentRegion можно найти здесь .
Пример 2. Выбор отдельных ячеек с данными
Предположим, мы хотим выбрать только все отдельные ячейки, содержащие данные, в Sheet1 .
Для этого мы можем создать следующий макрос:
SubSelectCellsWithData ()
Worksheets(" Sheet1 ").Activate
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Activate
End Sub
Когда мы запускаем этот макрос, мы видим, что выбрана каждая отдельная ячейка на Листе 1 , содержащая данные:
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как установить значение ячейки на другом листе
VBA: как выбрать диапазон в активной ячейке
VBA: как удалить строки на основе значения ячейки