Маркирайте активна клетка в Excel VBA - Лесни макроси на Excel

Съдържание

По -долу ще разгледаме програма в Excel VBA че подчертава реда и колоната на активната клетка (избрана клетка). Тази програма ще удиви и впечатли шефа ви.

Ситуация:

Всеки път, когато сменим активната клетка на Sheet1, трябва да се изпълни макрос. Можете да постигнете това, като създадете събитие SelectionChange на работен лист.

1. Отворете редактора на Visual Basic.

2. Щракнете двукратно върху Sheet1 (Sheet1) в Project Explorer.

3. Изберете Работен лист от левия падащ списък. Изберете SelectionChange от десния падащ списък.

Добавете следните кодови редове към събитието за избор на работен лист: Промяна:

4. Декларираме четири променливи от тип Integer. Един с име rowNumberValue, един с име columnNumberValue, един с име i и един с име j.

Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer

5. Първо, добавяме реда, който променя цвета на фона на всички клетки на „Без запълване“.

Cells.Interior.ColorIndex = 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 Към колонаNumberValue
Клетки (rowNumberValue, j) .Interior.ColorIndex = 37
Следващ j

9. Сега е време да тествате програмата. Изтеглете файла Excel и вижте как редът и колоната на активната клетка се подчертават всеки път, когато промените активната клетка.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave