Использование ячеек диапазона Excel в VBA

A B C
1
2 a b
3 c d
4 e f

В следующих разделах объясняется, как можно использовать свойство .Cells объекта рабочего листа или диапазона. Он начинается с объяснения двух способов выбора ячейки. Далее показаны три способа перебора коллекции ячеек: все ячейки в определенной строке и столбце. Все примеры относятся к изображению рабочего листа справа с таблицей a..f.

Выберите ячейку

Свойство .Cells возвращает набор ячеек. Какие ячейки должны быть включены, определяется свойствами RowIndex и ColumnIndex, как описано ниже. Есть три класса, которые поддерживают свойство Cells:

  • Application.Cells : ячейки на активном листе. Это то, что предполагается, когда Cells вызывается без указания диапазона или рабочего листа.
  • Worksheet.Cells : ячейки на указанном листе (а не только ячейки, которые в настоящее время используется).
  • Range.Cells : ячейки в указанном диапазоне.

Есть два способа для идентификации отдельной ячейки в коллекции Cells:

  1. Выбрать ячейку, используя индекс строки и столбца
  2. N-й элемент в коллекции

Выбрать ячейку с помощью индекса строки и столбца

Свойство Cells имеет два аргумента: RowIndex и ColumnIndex

Выражение Значение Комментарий
Ячейки (2, 2) Ячейка на активном листе в строка 2 и столбец 2
Диапазон ("B2"). Ячейки (2, 2) d Ячейка в строке 2 и столбце 2, начиная с B2
Диапазон ( «B2: B3»). Ячейки (2, 2) d d> Счетчик не должен находиться в указанном диапазоне
Диапазон ("B2: B3"). Ячейки (2 , "B") d Символ столбца, интерпретируемый как число, например «B» — всегда 2-й столбец
Примечание
Отрицательные значения в row или columnindex не допускаются.

N-й элемент в коллекции

При отсутствии второй необязательный аргумент ColumnIndex , свойство Cells возвращает n-й элемент. Порядок, в котором возвращаются элементы, — в ширину, поэтому в таблице примера ячейки со значениями a, b, c, … f.

Выражение Значение Комментарий
Диапазон ("B2: B3 "). Ячейки (2) c Вторая ячейка в диапазоне
Диапазон ("B2: B3"). Ячейки (3) e Даже если в диапазоне всего две ячейки, …
Диапазон ("B2: C3"). Ячейки (6) f .. . он интерпретируется как дополнительные строки с количеством столбцов, указанным в диапазоне

Перебирать ячейки в диапазоне

Cells особенно полезно, поскольку оно упрощает итерацию по диапазону. На изображении ниже показана часть меню кода VBA (загрузка), которая позволяет вставить требуемый фрагмент кода.

Перебрать все ячейки в диапазоне

В приведенном ниже коде показано, как можно перебрать все ячейки в диапазоне. Здесь он будет печатать значения a, b, c, d из таблицы в верхней части страницы.

  Dim rng As Range: Set rng = Application.Range ("B2  : C3 ") Dim cel As RangeFor each cel In rng.Cells Debug.Print cel.ValueNext cel  

Перебирать ячейки в строке

приведенный ниже код возвращает c и d . Он знает, что ему нужно только получить значения rng.Columns.Count . Он получает их из столбца 2 относительно начала диапазона «B2», который интерпретируется как строка 3 на листе.

  Dim rng As Range: Set rng = Application  .Range ("B2: C3") Dim i As IntegerFor i = 1 To rng.Columns.Count Debug.Print rng.Cells (RowIndex: = 2, ColumnIndex: = i) .ValueNext  

Перебирать ячейки в столбце

Приведенный ниже код возвращает b и d . Он знает, что ему нужно только получить значения rng.Rows.Count . Он получает их из столбца B относительно начала диапазона «B2», который интерпретируется как столбец C на листе.

  Dim rng As Range: Set rng = Application  .Range ("B2: C3") Dim i As IntegerFor i = 1 Для rng.Cells.Rows.Count Debug.Print rng.Cells (RowIndex: = i, ColumnIndex: = "B"  

Оцените статью
techsly.ru
Добавить комментарий