Olá galera!!! Uma saudação especial a todos os nossos Excelentes leitores.
A dica de hoje é bem rapidinha e serve bastante para estudo, ou seja, pra quem gosta de praticar no Excel o uso de suas funções e suas macros VBA. É claro que, a dica serve também para uso geral, para incrementar planilhas ou relatórios. Vai depender da necessidade e criatividade de vocês.
Vou mostrar de forma descontraída como fazer o Excel te saudar com um Bom Dia, Boa Tarde ou Boa Noite, de acordo com a ocasião, ou seja, uma saudação adequada pelo horário especificado. Com isso, podemos concluir que o Excel pode ser “bem educado” e não é “anti-social”…
Brincadeiras a parte, vamos começar. A propósito, já publiquei alguns artigos sobre tratamento de datas no Excel, vale a pena conferir.
Criando uma Fórmula para exibir uma saudação na célula
Para exibir uma saudação dentro de uma célula qualquer, você pode fazer o uso de uma fórmula simples que verifica o horário informado e mostrar um texto pré-definido para alguma faixa de horário. Veja um exemplo.
Supondo que você tenha um horário escrito na célula C3, 10:30, por exemplo, a saudação deveria ser “Bom Dia”. Veja como escrever a fórmula para obter este resultado em E3.
=SE(HORA(C3)>=18;”Boa Noite”;SE(HORA(C3)>=12;”Boa Tarde”;”Bom Dia”))
Explicando:
Utilizamos o SE para testarmos a hora e retornamos uma expressão textual correspondente aquele horário. Assim:
SE a hora for maior ou igual a 18, escreva “Boa Noite”
SE a hora for maior ou igual a 12, escreva “Boa Tarde”
SE a hora não for nenhuma das anteriores, escreva “Bom Dia”.
Perceba que, a ordem das comparações foi proposital, da maior para a menor, porque se comparassemos primeiro uma hora menor que a comparação seguinte, a condicional validaria logo na primeira comparação e daria errado. Caso eu testasse o primeiro SE com o valor >= 0 (Bom Dia), sempre retornaria “Bom Dia”, pois todos os horários são maiores que 0 (zero).
Para a saudação funcionar de maneira atualizada, digite na célula C3 a fórmula =AGORA(). Dessa forma, a hora será atualizada automaticamente e sua saudação acompanhará esta saudação. Se quiser, aprenda a utilizar um atalho para inserir a hora atual.
No arquivo de exemplo que estou disponibilizando para vocês baixarem no final do artigo, adicionei a função CONCATENAR para adicionar um texto extra à saudação, que pode ser qualquer coisa que vocês desejarem, do tipo “Seja bem vindo”, “Oi”, etc. Eu apenas incluí um ponto de exclamação no final. Ficou assim:
=CONCATENAR( SE(HORA(C3)>=18;”Boa Noite”; SE(HORA(C3)>=12;”Boa Tarde”;”Bom Dia”));”!” )
Criando uma Mensagem de Saudação ao abrir o Arquivo
Aqui, é para quem gosta de VBA. A macro exibirá uma mensagem na tela com a saudação apropriada, conforme a figura a seguir.
Você precisa acessar o ambiente VBA, pressionado as teclas ALT+F11. E depois de um duplo clique no item EstaPasta_de_trabalho. Veja:
Daí você vai inserir o seguinte código.
Private Sub Workbook_Open()
Dim dHora As Integer
dHora = Hour(Now)
Select Case dHora
Case Is >= 18
sSaudacao = "Boa Noite"
Case Is >= 12
sSaudacao = "Boa Tarde"
Case Is >= 0
sSaudacao = "Bom Dia"
End Select
MsgBox sSaudacao & "! Seja bem vindo. Aproveite para seguir @exceldoseujeito no twitter!!!", vbInformation, "Saudação do Excel"
End Sub
Não se esqueça de Salvar o arquivo.
Você pode perceber que a ordem de comparação da hora, segue o mesmo critério que utilizamos na fórmula anterior, do maior para o menor horário.
Agora, toda vez que este arquivo for aberto, exibirá a mensagem de Bom dia, tarde ou noite, conforme o horário do momento.
Espero que tenham gostado.
Comentem e compartilhem no twitter, facebook para ajudar na divulgação, valeu pessoal.
Até a próxima.
Boa noite.
Fiz um teste aqui, coloquei na C3 o horário e na E3 a formula dada por você, no entanto não funcionou, ficou apenas escrito #NOME? no lugar da formula. Tentei então colocar a função =agora(), mas mesmo assim nada. O que poderia ter acontecido?
Abraços
Boa noite.
Baixe o arquivo que disponibilizei lá no fim do artigo… Veja como foi colocado os exemplos citados aqui.
Você também pode ler sobre o motivo desse erro #VALOR neste post: https://www.exceldoseujeito.com.br/2012/06/04/como-solucionar-problemas-de-erros-parte-6-nome/
Abç
se alguém quiser ser ainda mais específico, pode acrescentar a hora atual na mensagem:
MsgBox sSaudacao & “,” & ” ” & “são” & ” ” & Time() & “,” & ” ” & “Bem Vindo Deuseuri”, vbInformation, “Tela de Entrada”
Eu gostei muito!!
Para mim foi mais um aprendizado, nota 10!