sexta-feira, 17 de maio de 2013

Olá Pessoal,

Estava precisando de uma planilha que me ajudasse a controlar minhas atividades, mas não queria ficar preenchendo a data todas as vezes que inserisse uma nova informação. Então criei um macro para preencher a data automaticamente todas as vezes que uma atividade de inicio ou fim for adicionada.

A macro para preencher os campos de início e fim foi a seguinte:

'Chama função VerificaMudancas toda vez que houver uma nova Entrada na pasta de trabalho


Sub AberturaAuto()

    ThisWorkbook.Worksheets("Plan1").OnEntry = "VerificaMudancas"
End Sub


'Verifica se houve mudanças em alguma célula do intervalo CelulasChave
'e chama a função InsereData se houver atividade e ApagaData se atividade estiver em branco

Sub VerificaMudancas()
    CelulasChave = "B3:B100,D3:D100"
    If Not Application.Intersect(ActiveCell, Range(CelulasChave)) _
        Is Nothing Then
            If Not ActiveCell.Text = "" Then
                InsereData
            Else
                ApagaData
            End If
    End If
End Sub


'Insere a data na célula à esquerda da atualmente selecionada

Sub InsereData()
ActiveCell.Offset(0, -1).Value = Now
End Sub





'Apaga a data na célula à esquerda da atualmente selecionada

Sub ApagaData()
ActiveCell.Offset(0, -1).Value = ""
End Sub