Выделите активную ячейку в Excel VBA
Ниже мы рассмотрим программу в Excel VBA, которая выделяет строку и столбец активной ячейки (выбранная ячейка). Эта программа будет удивлять и произвести впечатление на босса.
Ситуация:
Каждый раз, когда мы изменяем активную ячейку на Лист1, макрос нужно выполнить. Вы можете достичь этого путем создания рабочего листа SelectionChange события.
-
Откройте редактор Visual Basic.
-
Дважды щелкните на Sheet1 (Лист1) в окне Project Explorer.
-
Выберите рабочий лист из списка слева раскрывающегося списка. Выберите SelectionChange справа в раскрывающемся списке.
Добавьте следующие строки кода к планшетным SelectionChange Событие:
-
Мы объявляем четыре переменные типа Integer. Один названный rowNumberValue, один названный columnNumberValue, один с именем я и один с именем J.
Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
-
Во-первых, мы добавим строку, которая изменяет цвет фона всех ячеек «No Fill».
Cells.Interior.ColorIndex = 0
-
Мы инициализировать переменную rowNumberValue с номером строки активной ячейки и переменной columnNumberValue с номером столбца активной ячейки.
rowNumberValue = ActiveCell.row columnNumberValue = ActiveCell.column
-
Мы подчеркиваем столбец синий. То есть: все ячейки с номером строки меньше или равно rowNumberValue и номер столбца, равным columnNumberValue
For i = 1 To rowNumberValue Cells(i, columnNumberValue).Interior.ColorIndex = 37 Next i
Объяснение: для этого примера (см рисунок выше), rowNumberValue равна 12 и columnNumberValue равно 8. строк кода между For и Next будет выполняться двенадцать раз. При г = 1, Excel VBA цвета ячейке на пересечении строки 1 и столбца 8. Для I = 2, Excel VBA цвета ячейки на пересечении строки 2 и столбца 8, и т.д.
Примечание: вместо ColorIndex номер 37 (синий), вы можете использовать любое количество ColorIndex.
-
Аналогичным образом, мы выделяем строку синего цвета. То есть: все ячейки с номером строки, равное rowNumberValue и номер столбца меньше или равно columnNumberValue.
For j = 1 To columnNumberValue Cells(rowNumberValue, j).Interior.ColorIndex = 37 Next j
-
Теперь пришло время протестировать программу. Скачать файл Excel и посмотреть, как строка и столбец активной ячейки подсвечиваются каждый раз при смене активной ячейки.