Оглавление
В этом учебнике мы расскажем, как использовать VBA для перебора строк в диапазоне в excel. Мы используем циклы, чтобы не делать одно и то же снова и снова. Во время работы в Microsoft Excel Мы можем оказаться в ситуации, когда нам нужно выполнить одну и ту же задачу много раз. Мы можем легко сделать это, используя циклы в VBA В этой статье мы продемонстрируем 6 примеры перебора строк в excel с помощью VBA Цикл, который мы будем использовать во всех примерах, это ' For-Next Loop '.
Скачать Рабочую тетрадь для практических занятий
Тетрадь для практических занятий можно скачать отсюда.
VBA Loop Through Rows in Range.xlsm6 примеров перебора строк в диапазоне с помощью VBA в Excel
Для иллюстрации примеров этого учебника мы воспользуемся следующим набором данных. Набор данных содержит суммы продаж за первые два месяца 5 продавцов .
1. Использование VBA в диапазоне с переменной Range для циклического просмотра строк
В первом примере мы будем использовать переменную range для перебора строк в диапазоне с помощью цикла VBA в excel. Мы применим VBA цикл в следующем наборе данных.
Рассмотрим шаги для выполнения этого примера.
ШАГИ:
- Для начала перейдите к активному рабочему листу ' Диапазон переменной '.
- Кроме того, щелкните правой кнопкой мыши и выберите опцию ' Посмотреть код '. Вы также можете нажать Альт + F11 чтобы открыть его.
- Приведенное выше действие открывает окно кода для этого рабочего листа.
- Далее введите код в окно кода:
Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub
- Затем нажмите на Запускайте или нажмите F5 чтобы запустить код.
- В итоге мы получим результаты, как на следующем снимке экрана.
Подробнее: Excel VBA: цикл по столбцам в диапазоне (5 примеров)
2. Применение VBA для перебора строк в диапазоне с числовой переменной
Другим вариантом перебора строк в диапазоне является выбор переменной. Во втором примере мы применим функцию VBA в следующем наборе данных для циклического просмотра строк в диапазоне с числовыми переменными.
Давайте рассмотрим шаги для выполнения этого метода.
ШАГИ:
- Первый, щелкните правой кнопкой мыши на активном листе с именем ' Числовое значение '.
- Далее выберите опцию ' Посмотреть код '.
- Это действие откроет окно кода для данного рабочего листа. Вы также можете нажать кнопку Альт + F11 чтобы открыть это окно кода.
- введите в это окно следующий код:
Sub VBA_Numeric_Variable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub
- После этого нажмите на Запускайте или нажмите кнопку F5 чтобы запустить код.
- Наконец, мы можем увидеть результаты, подобные следующему рисунку. Приведенный выше код изменяет формат числа на десятичные точки.
Подробнее: VBA для циклического просмотра строк и столбцов диапазона в Excel (5 примеров)
3. Excel VBA в выбранном пользователем диапазоне для циклического просмотра строк в диапазоне
В третьем примере мы будем использовать VBA в выбранном пользователем диапазоне для циклического просмотра строк в диапазоне. Таким образом, пользователь сможет применить цикл в выбранной области набора данных.
Рассмотрим шаги, связанные с этим примером.
ШАГИ:
- В начале выделите диапазон ячеек ( D5:D9 ).
- Следующий, щелкните правой кнопкой мыши на активном листе с именем ' Выбранный пользователем '. Выберите опцию ' Посмотреть код '.
- Приведенная выше команда откроет VBA окно кода для активного рабочего листа. Вы также можете открыть это окно кода, нажав кнопку Альт + F11 Вставьте следующий код в это пустое окно кода:
Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "Cell value = " & w.Value Next w End Sub
- Затем, чтобы запустить код для этого рабочего листа, нажмите на кнопку Запускайте или нажмите кнопку F5 ключ.
- Таким образом, появляется окно сообщения, показывающее первое значение выбранного диапазона.
- Более того, если вы нажмете на OK он вернет второе значение выбранного диапазона, которым является ячейка D6 .
- Этот процесс будет продолжаться до тех пор, пока последнее значение выбранного диапазона, которым является ячейка D9 .
Читать далее: Как использовать VBA для подсчета строк в диапазоне с данными в Excel (5 макросов)
Похожие чтения
- Как использовать VBA для выбора диапазона из активной ячейки в Excel (3 метода)
- Макрос Excel: сортировка нескольких столбцов с помощью динамического диапазона (4 метода)
- Как преобразовать диапазон в массив в Excel VBA (3 способа)
4. Перебор строк в динамическом диапазоне с помощью VBA
В четвертом примере мы применим VBA для перебора строк в динамическом диапазоне. Этот пример немного отличается от предыдущих. Мы сможем настроить диапазон в цикле для рабочего листа excel. Мы будем использовать следующий набор данных для иллюстрации этого метода. В следующем наборе данных мы заполним значениями диапазон ( B8:C12 ) с определенным значением.
Чтобы выполнить этот метод, просто выполните следующие действия.
ШАГИ:
- Во-первых, входное значение 6 в камере B1 и C в камере B2 .
- Во-вторых, щелкните правой кнопкой мыши на активной ячейке и выберите опцию ' Посмотреть код '.
- Эта команда откроет VBA окно кода для активного рабочего листа. Другой способ открыть это окно кода - нажать кнопку Альт + F11 .
- В-третьих, вставьте следующий код в это окно кода:
Sub Dynamic_Range() Dim xRange As String xRange = "B8:" + Worksheets("Dynamic Range").Cells(2, 2).Value + _ CStr(3 + Worksheets("Dynamic Range").Cells(1, 2).Value) For Each Row In Range(xRange) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub
- Теперь, чтобы запустить код, нажмите на кнопку Запускайте или нажмите кнопку F5 ключ.
- В результате набор данных заполняется значением $2500.00 следующим образом.
ПРИМЕЧАНИЕ:
На изображении выше значение 6 представляет собой первые две строки диапазона ( B8:B9 ).
- Наконец, введите значение 9 в камере B1 вместо 6 Мы можем видеть результаты на следующем изображении.
5. Вставка VBA для циклического просмотра всей строки в диапазоне
В пятом примере мы увидим, как можно применять VBA Этот пример позволяет найти позицию определенного значения из выбранной одной или нескольких строк.
Итак, давайте рассмотрим шаги, которые мы выполним для выполнения этого примера.
ШАГИ:
- Для начала, щелкните правой кнопкой мыши на активном листе с именем ' Весь ряд '. Выберите опцию ' Посмотреть код '.
- Приведенная выше команда открывает пустой VBA окно кода для активного рабочего листа. Мы также можем получить это окно кода, нажав кнопку Альт + F11 .
- Затем вставьте следующий код в это окно кода:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris found at " & w.Address End If Next w End Sub
- Затем нажмите на Запускайте или нажмите кнопку F5 чтобы запустить код.
- На изображении выше выделенное значение ' Крис ' указывает значение, которое мы будем искать. Значение диапазона ' 5:9 ' указывает, что мы будем искать значение в диапазоне ячеек ( B5:B9 ).
- Наконец, появляется сообщение о том, что значение ' Крис ' находится в ячейке B6 .
Подробнее: Как использовать VBA для каждой строки диапазона в Excel
6. Перебор всех n-ых строк в диапазоне с помощью Excel VBA
В последнем примере мы применим VBA перебрать все n-й Строка в диапазоне. В следующем наборе данных мы применим цветовое затенение к нечетным строкам нашего диапазона данных.
Итак, давайте рассмотрим шаги для выполнения этого метода.
ШАГИ:
- Первый, щелкните правой кнопкой мыши на активном листе с именем ' n-я строка '. Выберите опцию ' Посмотреть код '.
- Затем открывается пустая страница VBA окно кода для этого рабочего листа. Мы также можем получить это окно кода, нажав кнопку Альт + F11 .
- Затем введите следующий код в это окно кода:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'четные строки .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Теперь нажмите на Запускайте или нажмите кнопку F5 чтобы запустить код.
- Наконец, мы видим, что приведенный выше код отбрасывает только строки с нечетными номерами из нашего набора данных.
Подробнее: Excel VBA для циклического просмотра диапазона до пустой ячейки (4 примера)
Заключение
В заключение, этот учебник дает вам 6 примеры перебора строк в диапазоне с помощью VBA в excel. Загрузите рабочий лист, содержащийся в этой статье, чтобы проверить свои навыки. Если у вас есть вопросы, пожалуйста, оставьте комментарий в поле ниже. Наша команда постарается ответить на ваше сообщение как можно скорее. Следите за новыми изобретательскими идеями Microsoft Excel решения в будущем.