Зміст
У великих базах даних більшу частину часу ви витрачали на роботу з діапазонами і комірками. Іноді доводиться повторювати одну і ту ж дію у великих діапазонах або великій кількості комірок. Це одночасно вбиває ваш час і знижує ефективність роботи. Розумне рішення цієї проблеми полягає в тому, щоб побудувати Програмний код на VBA яка буде пробігатися по кожній комірці діапазону і виконувати однакові дії, спрямовані вами. Сьогодні в цій статті ми обговоримо, як зробити VBA для кожної комірки в діапазоні в Excel.
Завантажити Практичний посібник
Завантажте цей практичний посібник, щоб виконати завдання, поки ви читаєте цю статтю.
Код VBA для кожної комірки діапазону в Excel.xlsx3 підходящі способи застосування VBA для кожної комірки діапазону в Excel
За допомогою коду VBA можна виконати одну і ту ж формулу для кожної комірки діапазону, стовпця або рядка. У цьому розділі ми пройдемося по всіх розділах.
1. застосувати VBA для кожної комірки діапазону
Розглянемо ситуацію, коли потрібно застосувати однаковий код VBA для кожної комірки заданого діапазону ( B3:F12 Для цього побудуємо VBA-код. Інструкція наведена нижче
Крок 1:
- Для початку вставимо командну кнопку, щоб спростити собі роботу. Перейдіть на свій Вкладка "Розробник виберіть Вставка і натисніть на командну кнопку, щоб отримати його.
- У нас є наша командна кнопка.
- Клацніть правою кнопкою миші по командній кнопці, щоб відкрити опції. Виберіть і натисніть на Властивості змінити деякі параметри.
- Змінюємо підпис командної кнопки. Тут змінюємо назву на " Натисніть тут ".
Крок 2:
- Тепер двічі клацніть по командній кнопці, щоб відкрити VBA Модуль Тут ми запишемо наш VBA код для виконання задачі.
- Спочатку оголосимо дві змінні, які назвемо об'єктами діапазону CL і Rng Називайте їх як завгодно.
Dim CL Як діапазон Dim Rng Як діапазон
- Цією командою призначається конкретний діапазон,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Тут VBA1 - це ім'я нашого аркуша, а B3:F12 це наш визначений діапазон.
- Тепер скористаємося кодом для виконання через кожну комірку діапазону. Код такий,
Для кожного CL In Rng CL.Value = 100 Наступний CL
- Значення = 100 посилається на те, що він повернеться 100 для кожної комірки заданого діапазону.
- Таким стає наш фінальний код,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- Перейдіть на основний аркуш і натисніть командну кнопку, щоб запустити VBA для кожної комірки в діапазоні.
Крок 3:
- Як і числові значення, ми також можемо помістити текстові значення для кожної комірки діапазону. В такому випадку, перейдіть у вікно VBA, і замість 100 вставте текстове значення, яке ви хочете прогнати. Змінений рядок буде виглядати так
CL.Value = "ExcelWIKI"
- Натисніть на командну кнопку, і код VBA поверне це текстове значення для кожної комірки діапазону.
Крок 4:
- На цьому кроці ми копнемо трохи глибше. Припустимо, ми хочемо виділити кожну порожню комірку в нашому діапазоні.
- Для цього в існуючий код додайте нову умову. Нова формула виглядає наступним чином,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- У цьому новому коді порожня клітинка буде підсвічуватися червоним кольором. Таким чином, повний код виглядає наступним чином,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- Отримайте результат, натиснувши на командну кнопку.
Схожі читання:
- Як використовувати об'єкт діапазону VBA в Excel (5 властивостей)
- Використання зміщення діапазону VBA (11 способів)
- Як порахувати текст в Excel (7 простих прийомів)
2. вставити код VBA для кожної комірки в стовпці діапазону
Ми також можемо запустити код VBA для кожної комірки в стовпці. Припустимо, у нас є стовпець, що містить числа, і нам потрібно зафарбувати значення, менші за 10. Ми створимо код VBA для запуску кожної комірки в стовпці.
Крок 1:
- Створіть командну кнопку за інструкцією, яку ми розглянули.
Крок 2:
- Двічі клацніть по командній кнопці, щоб відкрити вікно VBA.
- Оголосимо змінну з іменем " c "Тут використовується змінна типу Long, тому що змінні типу Long мають більшу ємність, ніж змінні типу Integer.
Dim c Як довго
- Далі додаємо рядок коду, який змінює колір шрифту всіх комірок нашого стовпчика на чорний.
Columns(1).Font.Color = vbBlack
- Вставити цикл для цього коду.
For c = 1 To Rows.Count Next c
- На цьому кроці ми введемо умову, щоб зафарбовувати значення, які менші за значення комірки С4 (10). Для цього введіть такий код.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- Отже, остаточний код такий,
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- VBA запуститься і покаже результати при натисканні на командну кнопку.
3. написати код VBA для кожної комірки в рядку діапазону
Ми також можемо запустити код VBA для кожної комірки в рядку. У даному рядку нам потрібно виконати одну і ту ж дію над кожною коміркою рядка.
Крок 1:
- Додати командну кнопку і змінити її назву на " Натисніть тут! "
- Двічі клацніть на кнопці, щоб відкрити вікно VBA. Запишіть наведений нижче VBA-код.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Для кожної комірки в рядку застосувати заливку жовтим кольором For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Код пройде по кожній комірці рядка і застосує заливку жовтим кольором до кожної комірки.
- Натискаємо на кнопку - і ось наш результат.
Короткі нотатки
Якщо у Вас не відображається вкладка розробника, Ви можете активувати її, скориставшись цією інструкцією.
Налаштована панель швидкого доступу → Інші команди → Налаштувати стрічку → Розробник → ОК
Висновок
Ми розглянули три різні підходи до запуску VBA для кожної комірки в діапазоні. Будь ласка, коментуйте, якщо у вас виникли запитання чи запитання. Ви також можете переглянути наші інші статті, пов'язані із завданнями Excel!