Как использовать смещение диапазона в VBA (11 способов)

  • Поделись Этим
Hugh West

Если вы ищете несколько самых простых способов использования VBA Смещение диапазона, то вы найдете эту статью стоящей. Давайте приступим к рассмотрению способов использования функции VBA Смещение диапазона.

Скачать рабочую тетрадь

VBA Смещение диапазона.xlsm

11 способов использования смещения диапазона в VBA

У меня есть следующая таблица данных, содержащая информацию о некоторых студентах колледжа. Используя этот набор данных, я объясню, как можно использовать VBA Смещение диапазона.

Для этой цели я использовал Microsoft Excel 365 версию, вы можете использовать любые другие версии в зависимости от вашего удобства.

Метод-1: Выбор ячейки с помощью диапазона VBA

Здесь мы выберем ячейку, содержащую имя Даниэль Дефо. Для этой цели мы будем использовать Функция RANGE в VBA .

Шаг-01 :

➤ Перейти к Разработчик Tab>> Visual Basic Вариант

Затем Редактор Visual Basic откроется.

➤ Перейти к Вставка Tab>> Модуль Вариант

После этого Модуль будет создан.

Шаг-02 :

➤ Напишите следующий код

 Sub SelectCell() Range("B8").Select End Sub 

Будет выбрана ячейка B8 .

➤ Нажмите F5

Результат :

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

Читать далее: Как использовать объект Range в VBA в Excel

Метод-2: Выделение группы смежных ячеек с помощью диапазона VBA

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

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Он будет выбирать ячейки из B5 на C10 .

➤ Нажмите F5

Результат :

После этого вы получите ячейки в Колонка B и Колонка C выбранный.

Метод-3: Выделение группы несмежных ячеек с помощью диапазона VBA

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

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

Это позволит выбрать ячейки B6 , D6 , B9, и D9 .

➤ Нажмите F5

Результат :

После этого вы получите ячейки, содержащие имя студента Уильям Дэвид , Майкл Энтони, и их соответствующие Email Id выбранный.

Метод-4: Выделение группы несмежных ячеек и диапазона с помощью диапазона VBA

Следуя этому методу, можно одновременно выделить диапазон ячеек и несколько несмежных ячеек.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Он выделит диапазон ячеек в диапазоне B5:B10 и две другие клетки D6 , D10 .

➤ Нажмите F5

Результат :

После этого вы получите ячейки в столбце Имя студента и два Идентификаторы электронной почты для Уильям Дэвид и Дональд Пол выбранный.

Метод-5: Выбор диапазона с помощью смещения диапазона в VBA

Вы можете выбрать диапазон ячеек в Колонка "Имя студента с помощью Функция OFFSET .

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

Сначала, Range("A1:A6") выберет диапазон A1:A6 , а затем Смещение(4, 1) переместится на 4 строки вниз от ячейки A1 и 1 столбец в правую сторону. После этого равное количество ячеек в диапазоне A1:A6 будут выбраны отсюда.

➤ Нажмите F5

Результат :

Таким образом, вы выберете колонку Имя студента .

Метод-6: Отрицательное смещение диапазона в VBA

Вы можете выбрать Колонка "Идентификатор электронной почты следуя этому методу.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

Сначала, Range("F11:F16") выберет диапазон F11:F16 , а затем Смещение(-6, -2) переместится на 6 строк вверх от ячейки F11 и 2 столбца в левую сторону. После этого равное количество ячеек в диапазоне F11:F16 будут выбраны отсюда.

➤ Нажмите F5

Результат :

После этого вы сможете выбрать столбец Email Id .

Похожие чтения:

  • VBA для каждой ячейки в диапазоне в Excel (3 метода)
  • Как подсчитать текст в Excel (7 простых приемов)

Метод-7: Выбор диапазона относительно активной ячейки

Здесь у нас есть активная клетка (клетка A1 ) и относительно этой ячейки выберем диапазон данных в этом методе.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Вот, activecell это A1

Первая часть activecell.Offset(4, 1) выделит ячейку на 4 строки вниз и 1 столбец вправо от ячейки A1 и вторая часть activecell.Offset(9, 3) выделит ячейку на 9 строк вниз и 3 столбца вправо от ячейки A1 .

Наконец, будут выбраны все ячейки между этими двумя ячейками.

➤ Нажмите F5

Результат :

Затем вы сможете выбрать весь диапазон данных.

Метод-8: Копирование диапазона

Если вы хотите скопировать диапазон ячеек, то можно воспользоваться следующим методом.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

Сначала, Range("A1:A6") выберет диапазон A1:A6 , а затем Смещение(4, 1) переместится на 4 строки вниз от ячейки A1 и 1 столбец в правую сторону. После этого равное количество ячеек в диапазоне A1:A6 будут выбраны отсюда.

Наконец, он скопирует значения в диапазоне B5:B10 .

➤ Нажмите F5

Результат :

После этого вы сможете скопировать диапазон данных в Колонка "Имя студента .

Метод-9: Удаление диапазона

Здесь мы покажем способ удаления диапазона данных с помощью функции VBA код.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

Во-первых, Range("F11:F17") выберет диапазон F11:F17 , а затем Смещение(-7, -2) переместится на 7 строк вверх от ячейки F11 и 2 столбца в левую сторону. После этого равное количество ячеек в диапазоне F11:F17 будут выбраны отсюда.

Наконец, он удалит диапазон D4:D10 .

➤ Нажмите F5

Результат :

Таким образом, вы скопируете диапазон данных в Колонка "Идентификатор электронной почты .

Метод-10: Использование смещения диапазона VBA для ввода значения

Здесь у нас есть пустая ячейка (мы удалили значение в этой ячейке для объяснения этого метода) в Колонка "Имя студента и мы хотим заполнить его именем Джозеф Майкл Используя VBA кода мы можем легко ввести это значение.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

Во-первых, Range("A1") выберет ячейку A1 , а затем Смещение(6, 1) переместится на 6 строк вниз от ячейки A1 и 1 столбец в правую сторону. После этого ячейка B7 будет выбрано и, наконец, будет введено значение "Джозеф Майкл" в этой клетке.

➤ Нажмите F5

Результат :

Таким образом, вы получите имя Джозеф Майкл в камере B7 .

Метод-11: Использование смещения диапазона VBA для получения результата

Предположим, вы хотите написать Передано или Не удалось установить переписку к именам студентов в зависимости от Колонка результатов где Пройти или Провал была заключена в скобку. Чтобы найти эту подстроку в Колонка результатов и запишите это в Колонка "Зачет/незачет следуйте этому методу.

Шаг-01 :

➤ Follow Шаг-01 из Метод-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Здесь диапазон ячеек C5:C10 выбирается Range("C5:C10") который является Колонка результатов

InStr(cell. value, "Pass")> 0 это условие, при котором число больше нуля (когда ячейка содержит "Пас" ), то следующая строка будет продолжена и выдаст результат в соседней ячейке в виде Передано Здесь соседняя клетка будет выбрана путем cell.Offset(0, 1) что означает, что он переместится на 1 столбец вправо от входной ячейки.

Если условие становится ложным, значит, ячейка не содержит никаких "Пас" тогда строка под Else выполнится и даст выходное значение в соседней ячейке как Не удалось .

Этот цикл будет продолжаться для каждой ячейки.

➤ Нажмите F5

Результат :

Затем вы получите выходные данные Прошел или не прошел в Зачет/незачет колонна.

Практическая секция

Для самостоятельного выполнения практики мы предоставили Практика раздел, как показано ниже, в листе с именем Практика Пожалуйста, сделайте это сами.

Заключение

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

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.