Задачи по расписанию в Excel VBA - макросы Easy Excel

Содержание

Ниже мы рассмотрим программу на Excel VBA который устанавливает цвет фона задачи, которые идут по расписанию становится зеленым, а цвет фона задач, отстающих от графика, становится красным.

Ситуация:

На Sheet1 у нас есть три задачи (X, Y, Z). «1» означает, что задача выполнена. Задача выполняется по расписанию, если в каждом столбце до сегодняшней даты включительно стоит «1». Сегодня 6 июня. Задания X и Y выполняются по расписанию. Задача Z отстает от графика (нет «1» в ячейке E8).

Создайте событие изменения рабочего листа. Код, добавленный в событие изменения рабочего листа, будет выполняться Excel VBA при изменении ячейки на листе.

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

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

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

Добавьте следующие строки кода в событие изменения рабочего листа:

4. Объявите две переменные типа Integer.

Dim i как целое число, j как целое число

5. Добавьте цикл «Сделать, пока».

Ячейки Do While (6 + i, 1). Значение ""
я = я + 1
Петля

Объяснение: для i = 0 Excel VBA проверяет задачу X, для i = 1, задачу Y и т. Д. Excel VBA выходит из цикла Do While, когда Cells (6 + i, 1) .Value пуст (больше нет задач для проверки) .

Добавьте следующие строки кода (6, 7 и 8) в цикл Do While Loop.

6. Инициализируйте переменную j значением 0.

j = 0

7. Установите зеленый цвет фона задачи, предполагая, что задача выполняется по расписанию (конечно, это не обязательно так).

Ячейки (6 + i, 1) .Interior.ColorIndex = 4

8. Добавьте еще один цикл Do While.

Сделать, пока ячейки (4, 2 + j). Значение <= Дата
Если Cells (6 + i, 2 + j) .Value = 0, то Cells (6 + i, 1) .Interior.ColorIndex = 3
j = j + 1
Петля

Примечание: функция Date возвращает сегодняшнюю дату.

Объяснение: Для i = 0, j = 0 Excel VBA проверяет ячейку B6. Для i = 0, j = 1 Excel VBA проверяет ячейку C6 и т. Д. Задача выполняется по расписанию, если «1» существует в каждом столбце до сегодняшней даты включительно. Если Excel VBA находит «0», он устанавливает красный цвет фона задачи.

9. Протестируйте программу. Например, укажите, что задание Z 6 июня выполнено. В результате задача Z автоматически станет зеленой.

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

wave wave wave wave wave