Ir ao conteúdo

Caixa de alerta/aviso no Excel


luisfranope1109

Posts recomendados

Postado

Gostaria de colocar uma caixa (janela) de alerta avisando, ao abrir o excel que uma conta venceu um dia antes da data de vencimento da mesma.

Alguem pode dar uma luz de como fazer isso?

Desde já, agradeço:D

Luis

Postado
Boa tarde Luis

Baixe a planilha e veja se é isto que você deseja:

http://www.sendspace.com/file/148058

Não se esqueça de habilitar as macros quando acessar a planilha.

Dê retorno.

Um abraço.

Exatamente isto.... mas abriria estando em qualquer planilha nesse documento?

Como você fez? Tem um msn para q eu possa te explicar melhor e trocarmos planilhas?

Aguardo contato

Luis

  • Membro VIP
Postado

Luis

Para você ver o código VBA --> estando na planilha, clique em ALT+F11

Neste código você verá que consta Plan1, mas você poderá alterar para outra planilha que quiser.

Para sair do editor de VBA --> clique ALT+Q

Um abraço.

Postado
Luis

Para você ver o código VBA --> estando na planilha, clique em ALT+F11

Neste código você verá que consta Plan1, mas você poderá alterar para outra planilha que quiser.

Para sair do editor de VBA --> clique ALT+Q

Um abraço.

Obrigado....

é que queria colocar esse codigo na minha planilha que ja fiz....

Como faria?

Obrigado

  • Membro VIP
Postado

Bom dia luis

Para responder minha mensagem, não precisa clicar em citar --> clique em responder que fica um pouco abaixo da janela de resposta.

você tem que Copiar o código VBA da planilha que te enviei;

Daí feche essa planilha;

Agora na tua planilha, clique ALT+F11--> vai abrir o editor de VBA;

No lado esquerdo dê 2 cliques com o mouse em: "ESTA PASTA DE TRABALHO"

Cole o código neste módulo em branco que abriu no lado direito.

No código você tem que mudar o nome da Plan1! para o nome que esta na Aba da tua planilha e também a coluna, no código esta constando a coluna "E".

Para sair do editor de VBA --> clique em ALT+Q.

Para testar, salve, feche a planilha e abra novamente, não se esquecendo de habilitar as macros.

Um abraço.

Postado

...e também a coluna, no código esta constando a coluna "E".

Nao entendi isso da coluna E...

Minha planilha esta assim:

DATA DE VENCIMENTO | CONTA | VALOR

onde a primeira data de vencimento estaria na celula A2.

Pretendo colocar umas 200 linhas (200 possiveis contas a pagar em todo ano).

Vou tentando aqui.... se puder dar uma luz ai, agradeço.

Luis

  • Membro VIP
Postado

Bom dia Luis

Como você não informou qual coluna possui a data e como não tenho bola de cristal, eu coloquei na coluna "E".

Agora é só você alterar o código para a coluna A.

Att

Postado

Fiz exatamente o que falou mas não deu...

No código alterei e ficou assim:

Private Sub Workbook_Open()

Dim I As Variant

Dim wshVenc As Worksheet

Set wshVenc = Worksheets("Contas") 'Altere para o nome da sua Aba

For Each I In wshVenc.Range("A2:A" & wshVenc.Range("A1048576").End(xlUp).Row)

If I = "FALTA UM DIA" Then

MsgBox "Existe datas,com 1 dia para o vencimento"

Exit Sub

End If

Next

End Sub

Aponta o seguite erro:

Erro em tempo de execução '1004':

O método 'Range' do objeto'_Wordsheet' falhou

e tenho opções em botão: Fim ou Depurar

Não sei se ajuda mas meu arquivo do excel tem 12 planilhas (jan, fev, mar...) e mais a planilha de nome Contas...

Q sera? Pode ainda me ajudar?

Obrigado, Luis

  • Membro VIP
Postado

boa noite Luis

Como a tua pasta tem várias planilhas e muitos dados, e eu ainda sou iniciante em VBA, vou deixar para o mestre Osvaldo , Jeff ou outro fera em VBA te ajudarem.

Se você tivesse postado um exemplo da tua planilha desde o início teria facilitado.

Um abraço.

Postado

Tente substituir

wshVenc.Range("A1048576").End(xlUp).Row

por

wshVenc.Cells(Rows.Count, 1).End(xlUp).Row

Parece que seu Excel é anterior a 2007 e por isso possui menos linhas. Assim, ao dar o comando 'A1048576' o Range dá erro. Tente por no lugar de 1048576 o número máximo de linhas de seu excel. Ou efetue a mudança que sugeri acima.

Abraços.

Se a Coluna A possui o termo "FALTA UM DIA" quando está para vencer, então substitua a macro por esta abaixo, é mais rápida:

Private Sub Workbook_Open()
Worksheets("Contas").Select
If WorksheetFunction.CountIf(Columns(1), "FALTA UM DIA") > 0 Then
MsgBox "Há datas com 1 dia para o vencimento." & vbLf _
& "Verifique!", vbOKOnly, "Atenção!"
End If
End Sub

Postado

Obrigado.

Tenho o excel 2007 e tentei tudo.

Ultima coisa foi colocar o ultimo codigo, apagando o outro e nao deu certo, não acontecendo nada ao abrir o excel.

O Código ficou assim:

Private Sub Workbook_Open()

Dim I As Variant

Dim wshVenc As Worksheet

Set wshVenc = Worksheets("Contas") 'Altere para o nome da sua Aba

For Each I In wshVenc.Range("A2:A" & wshVenc.Range("A65536").End(xlUp).Row)

If I = "FALTA UM DIA" Then

MsgBox "Existe datas,com 1 dia para o vencimento"

Exit Sub

End If

Next

End Sub

Tem como ajudar mais?

Grato

Luis

Postado

Obrigado.

Esse código:

Private Sub Workbook_Open()

Worksheets("Contas").Select

If WorksheetFunction.CountIf(Columns(1), "FALTA UM DIA") > 0 Then

MsgBox "Há datas com 1 dia para o vencimento." & vbLf _

& "Verifique!", vbOKOnly, "Atenção!"

End If

End Sub

... não retornou erro nenhum.

Não estou entendendo nada.

você tem um msn ond eu pudesse lhe enviar a planilha?

Obrigado novamente

Luis

Postado

Luis, msn não resolve pois há mais pessoas com dúvidas semelhantes às suas, elas precisam ver o andamento e resultado do tópico.

O código que postei funciona assim:

A macro varre a Coluna A em busca da expressão 'FALTA UM DIA'.

Se encontrar aparece a caixa de mensagem, senão não acontece nada.

Até agora você não postou um exemplo de sua planilha, por isso a solução está demorando para dar certo, estamos dando tiro no escuro.

Ficamos na dúvida: será que a planilha está salva em xlsm? A macro foi posta em um módulo ou no código da planilha? Existe a aba com o nome Contas? Etc.

Postado

Obrigado...

Gostaria de saber como postar a minha planilha.

A ideia é faze-la checar a data de vencimento com a data do sistema e se data de vencimento = data do sistema - 1 dia então apareceria o aviso: "conta (descrição da conta) a vencer"...

Vou tentar descobrir como postar minha planilha para q vocês entendam e, legal ajudar para que ajudemos aos outros.

Abraços

Luis

  • Membro VIP
Postado

Boa tarde Luis

Se você ler com atenção verá que numa resposta lá atrás eu já disse que se você tivesse postado a tua planilha já teríamos resolvido o problema, mas você não se manifestou em perguntar como se posta uma planilha.

O erro no código que eu enviei deu porque o teu excel deve ser o 2003 e o código é para o 2007 ou superior. Se você tivesse postado a planilha já no início, eu já saberia qual a versão do teu Excel.

Vocês tem que dar condições para nós ajudarmos.

É muito simples use um site gratuito como:

www.sendspace.com

Depois cole o link aqui, como eu fiz com o exemplo que te enviei.

Um abraço.

  • Membro VIP
Postado

Boa tarde Luis

Como eu demosntrei desde o início e o amigo Jeff também explicou , o que faz disparar a MsgBox avisando, é a frase "Falta um dia".

Como a tua planilha não tinha, eu inseri está fórmula na coluna "A":

=SE(B2-HOJE()=1;"Falta um dia";"")

para dar o aviso e acionar a Msg na abertura do arquivo.

Eu ocultei a coluna "A".

Baixe a planilha e teste, mas não se esqueça de habilitar as Macros.

http://www.sendspace.com/file/hqpml7

Dê retorno.

Um abraço.

Postado

Obrigado mesmo Patropi.

Agora estou tentando uma 'formatação condicional' onde:

- Data com um dia anterior a data do sistema (vence amanha) = fundo laranja

- Data igual data do sistema (vence hoje) = fundo vermelho

- Data posterior a data do sistema (ja paguei) = fundo verde

Se tiver tempo e quiser fazer na mesma planilha, fico ainda mais agradecido.

Atenciosamente

Lu :D

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...