Tarefas agendadas no Excel VBA - Macros fáceis do Excel

Índice

Abaixo, veremos um programa em Excel VBA que define a cor de fundo de tarefas que estão dentro do cronograma para verde e define a cor de fundo das tarefas que estão atrasadas para vermelho.

Situação:

Na Folha1, temos três tarefas (X, Y, Z). Um "1" indica que uma tarefa foi concluída. Uma tarefa está programada se existir um "1" em todas as colunas até e incluindo a data de hoje. Hoje é 6 de junho. As tarefas X e Y estão dentro do cronograma. A tarefa Z está atrasada (sem "1" na célula E8).

Crie um evento de alteração da planilha. O código adicionado ao Evento de Alteração da Planilha será executado pelo Excel VBA quando você alterar uma célula em uma planilha.

1. Abra o Editor do Visual Basic.

2. Clique duas vezes em Plan1 (Plan1) no Project Explorer.

3. Escolha Planilha na lista suspensa à esquerda. Escolha Alterar na lista suspensa à direita.

Adicione as seguintes linhas de código ao evento de alteração da planilha:

4. Declare duas variáveis ​​do tipo Inteiro.

Dim i As Integer, j As Integer

5. Adicione um Do While Loop.

Células Do While (6 + i, 1) .Value ""
i = i + 1
Ciclo

Explicação: Para i = 0, o Excel VBA verifica a tarefa X, para i = 1, a tarefa Y, etc. O Excel VBA deixa o loop Do While quando Cells (6 + i, 1) .Value está vazio (não há mais tarefas para verificar) .

Adicione as seguintes linhas de código (em 6, 7 e 8) ao Do While Loop.

6. Inicialize a variável j com o valor 0.

j = 0

7. Defina a cor de fundo de uma tarefa para verde, presumindo que a tarefa esteja dentro do cronograma (isso não é necessariamente verdade, é claro).

Células (6 + i, 1) .Interior.ColorIndex = 4

8. Adicione outro Do While Loop.

Células Do While (4, 2 + j) .Value <= Date
If Cells (6 + i, 2 + j) .Value = 0 Then Cells (6 + i, 1) .Interior.ColorIndex = 3
j = j + 1
Ciclo

Nota: a função Date retorna a data de hoje.

Explicação: Para i = 0, j = 0, o Excel VBA verifica a célula B6. Para i = 0, j = 1, o Excel VBA verifica a célula C6, etc. Uma tarefa está na programação se houver um "1" em todas as colunas até e incluindo a data de hoje. Se o Excel VBA encontrar um "0", ele definirá a cor de fundo da tarefa como vermelho.

9. Teste o programa. Por exemplo, indique que a tarefa Z em 6 de junho foi concluída. Como resultado, a tarefa Z ficará verde automaticamente.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave