Выделите активную ячейку в Excel VBA - макросы Easy Excel

Содержание

Ниже мы рассмотрим программу на Excel VBA тот выделяет строку и столбец активной ячейки (выделенная ячейка). Эта программа поразит и впечатлит вашего начальника.

Ситуация:

Каждый раз, когда мы меняем активную ячейку на Sheet1, необходимо выполнить макрос. Вы можете добиться этого, создав событие Worksheet SelectionChange.

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

2. Дважды щелкните Sheet1 (Sheet1) в проводнике проекта.

3. Выберите Рабочий лист в раскрывающемся списке слева. В правом раскрывающемся списке выберите SelectionChange.

Добавьте следующие строки кода в событие Worksheet SelectionChange:

4. Объявляем четыре переменные типа Integer. Один с именем rowNumberValue, один с именем columnNumberValue, один с именем i и один с именем j.

Уменьшить значение rowNumberValue как целое, columnNumberValue как целое, i как целое, j как целое

5. Сначала мы добавляем линию, которая меняет цвет фона всех ячеек на «Без заливки».

Cells.Interior.ColorIndex = 0

6. Мы инициализируем переменную rowNumberValue номером строки активной ячейки, а переменную columnNumberValue - номером столбца активной ячейки.

rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column

7. Выделяем столбец синим цветом. То есть: все ячейки с номером строки, меньшим или равным rowNumberValue, и номером столбца, равным columnNumberValue

Для i = 1 в rowNumberValue
Cells (i, columnNumberValue) .Interior.ColorIndex = 37
Далее я

Объяснение: для этого примера (см. Рисунок выше) 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 To columnNumberValue
Ячейки (rowNumberValue, j) .Interior.ColorIndex = 37
Следующий j

9. Пришло время протестировать программу. Загрузите файл Excel и посмотрите, как строка и столбец активной ячейки выделяются каждый раз, когда вы меняете активную ячейку.

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

wave wave wave wave wave