Как использовать ячейку в качестве переменной в vba?

Чтобы использовать диапазон или одну ячейку в качестве переменной, вы должны сначала объявить эту переменную с типом данных диапазона. После этого вам нужно указать диапазон от одной ячейки до этой переменной, используя объект диапазона. Это также дает вам доступ ко всем свойствам и методам, которые вы можете использовать с диапазоном.

  1. Используйте ключевое слово «Dim» и введите имя переменной.
  2. Объявите ключевое слово как Range .
  3. Введите имя переменной.
  4. Укажите диапазон, который вы хотите назначить переменной.
используйте ключевое слово dim

Установить выбор в переменную диапазона

Вы также можете использовать выбранный диапазон для переменной, а затем использовать эту переменную для доступа к свойствам и методам. Рассмотрим следующий код.

 Sub vba_range_variable() Dim rng As Range Set rng = Selection Selection.Clear End Sub

Но есть одна вещь, с которой нужно быть осторожным: при выборе объекта , отличного от диапазона, VBA покажет вам ошибку.

выбор объекта, отличного от диапазона

Но это также динамический метод, при котором вам не нужно снова и снова менять диапазон.

Копирование диапазона с помощью переменной

Объявив переменную как диапазон, вы также можете скопировать этот диапазон, используя это имя переменной. Предположим, вы объявили диапазон A1:A10 как переменную rng (пример выше), вы можете скопировать его, используя следующий код.

скопировать аранжировку с использованием переменной
 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") rng.Copy End Sub

Использование переменной диапазона в функции

Вы также можете использовать переменную диапазона для ссылки на диапазон в функции при написании макроса. Рассмотрим следующий код.

 Sub vba_range_variable() Dim iNames As Variant Dim rng As Range Set rng = Range("A1:A10") Range("B1") = WorksheetFunction.Max(rng) End Sub
использовать переменную диапазона в функции

Он принимает значения в диапазоне A1:A10 и поскольку вам нужно использовать переменную «rng», для ее вывода мы использовали переменную в максимальном значении.

Связанный: Как использовать WorksheetFunction в VBA

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

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

 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") MsgBox "This range has " & _ rng.Rows.Count & " row(s) and " & _ rng.Columns.Count & " coulmn(s)." End Sub
подсчитать количество строк и столбцов

Когда вы запускаете этот код, он отображает сообщение с количеством строк и столбцов в диапазоне, указанном вами в переменной.

Определение рабочего листа с диапазоном

Во всех приведенных выше примерах мы использовали диапазон без упоминания рабочего листа, поэтому при запуске этого кода VBA всегда будет ссылаться на диапазон на активном листе. Но если вы хотите сослаться на конкретный лист, вам нужно использовать объект листа с диапазоном.

 Dim rng As Range Set rng = Worksheets("Sheet1").Range("A1:A10")

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *