Оглавление
Иногда нам нужно скрыть некоторые определенные строки при работе с большим набором данных в Excel для лучшей читабельности. Внедрение макрос VBA это самый эффективный, быстрый и безопасный метод выполнения любых операций в Excel. В этой статье мы покажем вам, как скрывать строки в Excel на основе различных критериев с помощью макроса VBA.
Скачать рабочую тетрадь
Вы можете скачать бесплатную практическую рабочую тетрадь Excel отсюда.
Скрытие строк с помощью VBA.xlsm
14 методов с помощью VBA для скрытия строк в Excel
В этом разделе мы обсудим 12 различных методов с VBA на скрыть строки в Excel. Пример, который мы будем использовать на протяжении всей статьи, показан ниже.
1. Встраивание VBA для скрытия одной строки в Excel
Если вы хотите скрыть один ряд с VBA затем выполните следующие шаги. В нашем случае, мы будем скрыть строку номер 5 ( Фамилия ) из нашего набора данных.
Шаги:
- Нажмите Alt + F11 на клавиатуре или перейдите на вкладку Разработчик -> Visual Basic открыть Редактор Visual Basic .
- Во всплывающем окне кода в строке меню нажмите кнопку Вставка -> Модуль .
- Скопируйте следующий код и вставьте его в окно кода.
Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub
Теперь ваш код готов к выполнению.
Вот,
- Worksheets("Single") = Установить название рабочего листа.
- Range("5:5") = Пропуск ряд № 5 внутри Диапазон метод.
- Нажмите F5 на клавиатуре или в строке меню выберите Run -> Run Sub/UserForm Вы также можете просто нажать на маленький значок Play в строке подменю, чтобы запустить макрос.
Обратите внимание на изображение ниже, ряд № 5 скрывается после выполнения VBA код.
Читать далее: Формула для скрытия строк в Excel (7 методов)
2. Вставка макроса для скрытия смежных строк в Excel
Вы узнали, как скрыть один ряд с помощью функции VBA Но предположим, вы хотите скрыть ряд строк которые смежные Вы тоже можете сделать это с помощью VBA в Excel. Мы будем скрыть ряды с 5 по 7 из нашего набора данных, показанного выше.
Шаги:
- Так же, как и раньше, откройте Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub
Теперь ваш код готов к выполнению.
Вот,
- Worksheets("Contiguous") = Установить название рабочего листа.
- Range("5:7") = Пропуск ряд с 5 по 7 внутри Диапазон метод.
- Запускайте этот код и видим на следующем рисунке, что ряды с 5 по 7 теперь скрыты.
Читать далее: Как скрывать и скрывать строки в Excel (6 самых простых способов)
3. Встраивание макроса для выделения несмежных строк
На этот раз вы узнаете, как скрыть строки в Excel, которые несмежные с VBA С нашим набором данных, код для скрыть ряды 5, 6, 8 и 9 приведены ниже.
Шаги:
- Как было показано ранее, открытые Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub
Теперь ваш код готов к выполнению.
Вот,
- Worksheets("Non-Contiguous") = Установить название рабочего листа.
- Range("5:6, 8:9") = Пропуск ряд с 5 по 6 и 8 - 9 внутри Диапазон метод.
- Запускайте этот кусок кода и увидеть, что ряды 5 - 6 и 8 - 9 скрыты на следующем рисунке.
Читать далее: Как скрыть строки в Excel (6 эффективных методов)
4. Макрос для скрытия всех строк, содержащих текст в Excel
Если вы хотите скрыть все строки, содержащие текст значения, затем выполните следующие действия.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideAllRowsContainsText() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 1 To LastRow 'Перебираем каждую строку и проверяем требуемое условие 'Чтобы скрыть все строки с текстовыми данными If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub
Теперь ваш код готов к выполнению.
Вот,
- IsNumeric(Range("C" & i)) = Данные в нашем наборе данных начинаются с колонка C, так что мы прошли C внутри Диапазон метод.
- Запускайте этот код, и вы заметите все ряды которые были содержащий текст значения теперь скрыты.
Читать далее: Как скрыть несколько строк в Excel (9 методов)
5. Макрос для маскировки всех строк, содержащих числа в Excel
И если вы хотите спрятаться все строки, содержащие числовые значения с VBA код, затем выполните следующие действия.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideAllRowsContainsNumbers() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы устанавливаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть все строки с числовыми данными If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub
Теперь ваш код готов к выполнению.
Вот,
- IsNumeric(Range("C" & i)) = Данные в нашем наборе данных начинаются с колонка C, так что мы прошли C внутри Диапазон метод.
- Запускайте этот код и обратите внимание, что все ряды которые были содержащие числовые значения раньше были скрыты.
Читать далее: Скрытие дублирующихся строк на основе одного столбца в Excel (4 метода)
6. Макрос для скрытия строк, содержащих ноль (0) в Excel
Предположим, вы хотите скрыть только те строки из определенного столбца, которые являются удерживая 0 (ноль) Посмотрите на следующий набор данных, где Колонка E держит 0 в ряд 7 и 82 в ряду 10 Мы узнаем, как скрыть только тот ряд, который содержит 0 ( ряд 7 ) с VBA в Excel.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsZero() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы устанавливаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую 0 в колонке E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и обратите внимание, что строка ( ряд 7 ), которые содержали 0 в колонка E теперь скрыта, тогда как ряд 10 который несет 82 не скрывается.
Читать далее: Как скрыть пустые строки в Excel VBA (4 полезных метода)
7. Внедрение макроса для скрытия строк с отрицательными значениями в Excel
Точно так же, как вы можете скрыть строки, содержащие ноль из одного столбца, вы можете скрывать строки, содержащие отрицательные значения также. В приведенном ниже наборе данных, где колонка E содержит как отрицательные, так и положительные значения, мы увидим код, скрывающий только отрицательное значение.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsNegative() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы устанавливаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую отрицательные значения в столбце E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и обратите внимание, что ряд 7 которая содержала отрицательное значение (-10) в колонка E теперь скрыта, тогда как ряд 10 который несет 82 не скрывается.
8. Встраивание VBA для скрытия строк с положительными значениями в Excel
На этот раз с приведенным ниже набором данных, где колонка E содержит оба нулевых положительных значения, мы увидим, что VBA код, который скрывает только положительный .
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsPositive() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы задаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую положительные значения в столбце E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и обратите внимание, что ряд 7 которая содержала положительное значение (55) в колонка E теперь скрыта, тогда как ряд 10 который несет 0 не скрывается.
Читать далее: VBA для скрытия строк на основе значения ячейки в Excel (14 примеров)
9. Макрос для скрытия строк с нечетными числами в Excel
Вы можете скрывать строки с нечетными номерами в качестве их значения. В примере, который мы показали в начале статьи, колонка E держит как четные, так и нечетные числа в ряды 7 и 10 Мы узнаем код скрытие строки который держит нечётные числа только.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsOdd() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем требуемое условие 'Мы задаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую положительные значения в столбце E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот кусок кода и увидеть, что только ряд 7 которая содержала нечетное число (55) в колонка E теперь скрыта, тогда как ряд 10 который несет четное число (82) не скрывается.
10. VBA для скрытия строк, содержащих четные числа в Excel
Аналогично, вы можете скрыть строки с четными номерами в качестве их значения. В примере, который мы показали в начале статьи, колонка F держит как четные, так и нечетные числа в ряды 7 и 10 Мы узнаем код скрытие строки который держит чётные числа только.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsEven() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы задаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую положительные значения в столбце F If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и увидеть, что только ряд 7 которая содержала четное число (100) в колонка F теперь скрыта, тогда как ряд 10 который несет нечетное число (75) не скрывается.
Читать далее: Excel VBA: скрыть все строки в Excel (5 практических примеров)
11. Вставка макроса для скрытия строк, превышающих определенное условие
Вы можете скрыть строки, которые больше конкретное значение с VBA Excel. Предположим, вы хотите скрыть строки из колонка E где значение более 80 Вот как это сделать:
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsGreater() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы задаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую положительные значения в столбце E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и увидеть, что только ряд 10 который содержал 82 (что больше 80) в колонка E теперь скрыта, тогда как ряд 7 который несет 55 не скрывается.
Читать далее: Скрытие строк на основе значения ячейки с помощью условного форматирования в Excel
12. Встраивание макроса для закрытия строк, которые меньше определенного условия в Excel
Вы также можете скрыть строки, которые меньше конкретное значение с VBA Excel. Предположим, вы хотите скрыть строки из колонка E где значение менее 80 Вот как это сделать:
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowContainsLess() LastRow = 1000 'Предположим, что в наборе данных 1000 строк For i = 4 To LastRow 'Перебираем каждую строку и проверяем необходимое условие 'Мы задаем i = 4, потому что наши данные начинаются с 4-й строки 'Чтобы скрыть строку, содержащую положительные значения в столбце E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Теперь ваш код готов к выполнению.
- Запускайте этот код и увидеть, что только ряд 7 который содержал 55 (что меньше 80) в колонка E теперь скрыта, тогда как ряд 10 то есть переноска 82 не скрывается.
13. Скрытие строк на основе значения текста ячейки с помощью макроса
Предположим, вы хотите скрыть строку, содержащую определенный текст значение. В нашем случае мы приведем пример со строкой, содержащей слово " Химия ", ряд 6 и предоставит вам код, как скрыть эту строку.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub
Теперь ваш код готов к выполнению.
Вот,
- StartRow = 4 -> Первый ряд набора данных.
- LastRow = 10 -> Последний ряд набора данных.
- iCol = 4 -> The адрес столбца что содержит текст ценность.
- Запускайте этот код и обратите внимание, что ряд № 6 который состоит из слова " Химия " скрыта.
14. Макрос для скрытия строк на основе числового значения ячейки в Excel
Ранее вы уже видели, как скрыть строку на основе текстового значения ячейки, в этот раз вы узнаете, как сделать это, когда числовое значение В нашем случае мы приведем пример со строкой, содержащей числовое значение " 87 ", ряд 7 и предоставит вам код, как скрыть эту строку.
Шаги:
- Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
- В окне кода скопируйте следующий код и вставьте его.
Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub
Теперь ваш код готов к выполнению.
Вот,
- StartRow = 4 -> Первый ряд набора данных.
- LastRow = 10 -> Последний ряд набора данных.
- iCol = 4 -> The адрес столбца что содержит текст ценность.
- Запускайте этот код и обратите внимание, что ряд № 7 который состоит из числового значения " 87 " скрыта.
Читать далее: Как скрыть строки на основе значения ячейки в Excel (5 методов)
Заключение
В этой статье вы узнали, как скрыть строки в Excel с VBA Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.