Виділіть активну клітинку в Excel VBA - Прості макроси Excel

Зміст

Нижче ми розглянемо програму в Excel VBA що виділяє рядок і стовпець активної клітинки (вибрана клітинка). Ця програма вразить і вразить вашого начальника.

Ситуація:

Кожного разу, коли ми змінюємо активну клітинку на аркуші 1, потрібно виконувати макрос. Цього можна досягти, створивши подію SelectionChange робочого аркуша.

1. Відкрийте редактор Visual Basic.

2. Двічі клацніть на Sheet1 (Sheet1) у Провіднику проектів.

3. Виберіть Робочий аркуш зі спадного списку ліворуч. Виберіть SelectionChange у правому розкривному списку.

Додайте такі рядки коду до події Вибір робочого аркуша:

4. Ми оголошуємо чотири змінні типу Integer. Один з назвами rowNumberValue, один з ім'ям columnNumberValue, один з ім'ям i один з іменем j.

Затемнити rowNumberValue як ціле число, columnNumberValue як ціле число, i як ціле число, j як ціле число

5. По -перше, ми додаємо рядок, який змінює колір фону всіх клітинок, до «Без заливки».

Комірки.Інтер'єр.КолірІндекс = 0

6. Ми ініціалізуємо змінну rowNumberValue номером рядка активної комірки та змінною columnNumberValue номером колонки активної комірки.

rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column

7. Виділяємо стовпець синім кольором. Тобто: усі клітинки з номером рядка меншим або рівним rowNumberValue та номером стовпця, що дорівнює columnNumberValue

Для i = 1 До rowNumberValue
Клітинки (i, columnNumberValue) .Interior.ColorIndex = 37
Далі i

Пояснення: у цьому прикладі (див. Малюнок вище) rowNumberValue дорівнює 12, а columnNumberValue дорівнює 8. Рядки коду між For і Next виконуватимуться дванадцять разів. Для i = 1 Excel VBA забарвлює клітинку на перетині рядка 1 та стовпця 8. Для i = 2 Excel VBA забарвлює клітинку на перетині рядка 2 та стовпця 8 тощо.

Примітка: замість ColorIndex номер 37 (синій) можна використовувати будь -який номер ColorIndex.

8. Аналогічним чином виділяємо рядок синім кольором. Тобто: усі клітинки з номером рядка, що дорівнює rowNumberValue, і номером стовпця меншим або рівним columnNumberValue.

Для j = 1 До columnNumberValue
Клітинки (рядокNumberValue, j) .Interior.ColorIndex = 37
Далі j

9. Настав час перевірити програму. Завантажте файл Excel і подивіться, як рядок і стовпець активної клітинки виділяються щоразу, коли ви змінюєте активну клітинку.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave