Ниже мы рассмотрим программу на 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 и посмотрите, как строка и столбец активной ячейки выделяются каждый раз, когда вы меняете активную ячейку.