VBA для приховування рядків в Excel (14 способів)

  • Поділитися Цим
Hugh West

Зміст

Іноді нам потрібно приховати деякі конкретні рядки при використанні нашого великого набору даних в Excel для кращої читабельності. Реалізовано Макрос VBA це найефективніший, найшвидший і найбезпечніший спосіб виконати будь-яку операцію в Excel. У цій статті ми покажемо вам, як приховувати рядки в Excel за різними критеріями за допомогою макросу VBA.

Завантажити Робочий зошит

Ви можете завантажити безкоштовну практичну книгу Excel тут.

Приховати рядки за допомогою VBA.xlsm

14 способів за допомогою VBA приховати рядки в Excel

У цьому розділі ми обговоримо 12 різних методів з VBA до приховати рядки Приклад, який ми будемо використовувати протягом всієї статті, наведено нижче.

1. Вбудувати VBA для приховування одного рядка в Excel

Якщо ви хочете приховати один рядок з VBA а потім виконайте кроки, описані нижче. У нашому випадку ми зробимо наступне приховати ряд №5 ( Прізвище та ім'я ) з нашого набору даних.

Сходинки:

  • Преса Alt + F11 на клавіатурі або перейдіть на вкладку Розробник - Visual Basic відкрити Редактор Visual Basic .

  • У вікні коду, що з'явилося, в рядку меню, що з'явилося, натисніть Вставка -> Модуль .

  • Скопіюйте наступний код та вставте його у вікно коду.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Ваш код тепер готовий до запуску.

Ось,

  • Робочі аркуші("Single") = Встановіть значення ім'я аркуша.
  • Range("5:5") = Пас ряд № 5 всередині Діапазон метод.

  • Преса F5 на клавіатурі або в рядку меню виберіть Виконати -> Run Sub/UserForm Ви також можете просто натиснути на кнопку маленька іконка відтворення в рядку підменю для запуску макросу.

Зверніть увагу на зображення нижче, ряд № 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 

Ваш код тепер готовий до запуску.

Ось,

  • Робочі аркуші("Суміжні") = Встановіть значення ім'я аркуша.
  • Range("5:7") = Пас ряд з 5 по 7 всередині Діапазон метод.

  • Біжи цей код і бачимо на наступному малюнку, що ряди з 5 по 7 зараз заховані.

Читати далі: Як приховати та показати рядки в Excel (6 найпростіших способів)

3. вбудувати макрос для розділення несуміжних рядків

Цього разу ви навчитеся приховати рядки в Excel, які є несуміжні з VBA З нашим набором даних, код до ховатися ряди 5, 6, 8 та 9 наведені нижче.

Сходинки:

  • Як було показано раніше, відкриті Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
  • У вікні коду скопіюйте наступний код та вставте його.
 Sub HideNonContinuousRows() Аркуші("Несуміжні").Діапазон("5:6, 8:9").ВесьРядок.прихований = True End Sub 

Ваш код тепер готовий до запуску.

Ось,

  • Робочі аркуші ("Несуміжні") = Встановіть значення ім'я аркуша.
  • 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 всередині Діапазон метод.

  • Біжи цей код і ви помітите всі ряди які були що містить текст значення тепер приховані.

Читати далі: Як приховати кілька рядків в 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 всередині Діапазон метод.

  • Біжи з цим Кодексом та зазначаємо, що всі ряди які були що містять числові значення які були раніше, тепер приховані.

Читати далі: Приховування дубльованих рядків на основі одного стовпця в Excel (4 способи)

6. Макрос для приховування рядків, що містять нуль (0) в Excel

Припустимо, ви хочете приховати тільки рядки з певного стовпця, які є утримання 0 (нуль) Подивіться на наступний набір даних, де Колонка Е трюми 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 в колонка Е зараз приховано, в той час як рядок 10 що несе в собі 82 не приховується.

Читати далі: Як приховати порожні рядки в Excel VBA (4 корисних способи)

7. Реалізувати макрос для приховування рядків з від'ємними значеннями в Excel

Подібно до того, як можна приховати рядки, що містять нулі з одного стовпця, можна приховати рядки, що містять від'ємні значення З набором даних, наведеним нижче, де колонка Е містить як від'ємні, так і додатні значення, ми побачимо код, який приховує тільки від'ємне.

Сходинки:

  • Відкрито Редактор 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) в колонка Е зараз приховано, в той час як рядок 10 що несе в собі 82 не приховується.

8. Вбудовуємо VBA для приховування рядків з додатними значеннями в Excel

Цього разу з набором даних, наведених нижче, де колонка Е містить обидва нульових додатних значення, то побачимо 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) в колонка Е зараз приховано, в той час як рядок 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 Припустимо, ви хочете приховати рядки з колонка 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) у колонка Е зараз приховано, в той час як ряд 7 що несе в собі 55 не приховується.

Читати далі: Приховування рядків на основі значення комірки з умовним форматуванням в Excel

12. Вбудовування макросу для покриття рядків, які менші за певну умову в Excel

Ви також можете приховати рядки, які менше ніж конкретне значення з VBA Припустимо, ви хочете приховати рядки з колонка Е де значення менше 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 "Хімія" 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 Сподіваюся, ця стаття була для вас дуже корисною. Не соромтеся запитувати, якщо у вас виникнуть запитання щодо цієї теми.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.