Usando o Excel como controle de tempo em treinamentos
Quando narrei aqui a odisséia do dia do meu aniversário eu mencionei a super-planilha que montei como cronograma/controle de tempo do curso. Aquela, que, como eu disse...
...se atualizava automaticamente, em tempo real, mostrando o ponto onde o curso estava (de verde) e onde deveria estar (em vermelho), e também o atraso estimado, em minutos, em um outro canto da tela. O legal é que a coluna "progresso" vai colorindo automaticamente, para mostrar o quanto cada item do cronograma deveria estar concluído. Assim, na hora do curso, você sabe visualmente quanto tempo tem para terminar de ensinar cada assunto.
Testei a planilha na prática, no treinamento que dei hoje. Funcionou muito bem - terminei o dia à frente do cronograma, por sinal.
Para baixar a planilha, é só clicar aqui (53 KB). Ela usa macros, então para que ela funcione você precisa habilitar macros no seu Excel. Coloque o nível de segurança "médio" em Ferramentas/Opções, aba "Segurança", botão "Segurança de Macro". Para poder usar a planilha e projetar um PowerPoint ao mesmo tempo, use outra dica minha: Como usar outros programas em um notebook sem interromper a projeção em um datashow.
Muita gente também quis saber como a planilha funcionava, então lá vai. Clique no "Mais >>" aí embaixo... (cuidado! conteúdo nerd!)
O uso "basicão" da planilha é assim: você coloca cada um dos assuntos, ou etapas, do curso ali do lado esquerdo e coloca a duração de cada um deles na coluna "duração". A hora de início e de término são calculadas automaticamente. Aí basta clicar em "ativar relógio" para ele começar a contar a hora e as funcionalidades da planilha entrarem em ação.
A mágica da planilha é assim: o relógio é simplesmente uma célula com a fórmula "=AGORA()". As células que são coloridas de verde/vermelho usam formatação condicional (Formatar/Formatação Condicional): se o valor da célula for menor do que a hora atual, colore de vermelho.
A barra de progresso nada mais é do que 10 células, uma do lado da outra. Cada uma tem uma fórmula que faz com que o valor da célula seja igual a o valor da célula à esquerda mais 10% da duração daquela etapa. Complicou? Veja a figura abaixo:
Aí é só usar, nas células da barra de progresso, a mesma formatação condicional: se o valor da célula for menor do que a hora atual, ela fica vermelha.
Acontece que a função "Agora()" retorna a hora apenas quando o Excel calcula a planilha. E o Excel só calcula a planilha se você altera alguma coisa nela. A solução foi uma pequenina macro, que batizei de "Atualiza" (quaaaanta criatividade), que é disparada quando você marca/desmarca a caixinha "Ativar relógio".
Sub Atualiza()
Worksheets(1).Calculate
If ChkAtualizar = True Then
Application.OnTime Now + TimeValue("00:00:01"), "Plan1.Atualiza"
End If
End Sub
A macro faz, basicamente, duas coisas:
1) Atualiza a planilha (dando um "calculate")
2) Se a caixinha (ChkAtualizar) estiver marcada, manda executar a mesma macro novamente, daqui a um segundo, usando o método "OnTime".
Além disso, o atraso estimado, mostrado no canto superior direito, nada mais é do que a diferença entre a hora atual e a hora de término da última etapa (ou assunto) do curso que você marcou como concluída. Se você estiver adiantado, ele mostra a palavra "adiantado" e o tempo estimado de adiantamento. A fórmula é um pouquinho grande porque usa a função "DESLOC" para descobrir qual a hora de término da última etapa concluída. Consulte a ajuda do Excel para entender como ela funciona.
É isso. Usem os comentários para dúvidas, elogios ou xingamentos por eu ter programado em Excel VBA. Pois quem é nerd sabe que programar em VB é pecado mortal...