Ir ao conteúdo

Posts recomendados

Postado

Amigos, bom dia!

 

Poderiam me ajudar?

 

Estou tentando fazer um macro para validar informações em uma planilha, de tal modo que me imprima uma msg na tela caso seja verdadeira, eu fiz aqui, mas na hora de compilar não da erro, mas também não executa a msg. 

 

Citação

Sub teste()
    Dim I   As Integer
    Dim C   As Integer
    
    I = 2
    C = 2
    
    Sheets("Planilha1").Select
    
    Do While Cells(I, 1) <> "" And Cells(I, 2) <> ""
        If Cells(I, 1) = "Em trânsito" Or "Programada" And Cells(I, 2) = "" Then
                               
            MsgBox "Verdadeira"
        
        
    End If
        
    Loop
   
End Sub

 

Sou meio leigo em VBA, então poderiam me dizer o que fiz de errado? A ideia seria verificar se na coluna 1, até o final da planilha está escrito "Em trânsito" ou "Programada", e se sim, verificar na coluna 2 até o final da planilha se está em branco, e sim, imprimir a msg na tela. 

  • Solução
Postado

 

Experimente:

 

Sub testeV2()
 Dim I As Integer
  I = 2
  Do While Cells(I, 1) <> ""
   If (Cells(I, 1) = "Em trânsito" Or Cells(I, 1) = "Programada") And Cells(I, 2) = "" Then
    MsgBox "Verdadeira na linha " & I
   End If
   I = I + 1
  Loop
End Sub

 

Postado

@osvaldomp

 

Deu certo, mas fica imprimando um monte de msg box. Vou mostrar como ficou colocando na controle de "produção".

 

Citação

Private Sub Workbook_Open()

 Dim I As Integer
  I = 2
  Do While Cells(I, 47) <> ""
   If (Cells(I, 47) = "AM" Or Cells(I, 47) = "AP" Or Cells(I, 47) = "AC" Or Cells(I, 47) = "RO" Or Cells(I, 47) = "RR") And Cells(I, 38) = "" Then
    MsgBox "PIN Pendente para solicitação"
    End If
   I = I + 1
  Loop
End Sub
 

 

Coloquei em "EstaPasta_de_trabalho" para rodar este macro quando inicia, também não funcionou. Sabe me dizer o porque?

 

Postado
1 hora atrás, crownics disse:

 ... mas fica imprimando um monte de msg box.

Sim, exibe uma caixa de mensagem para cada registro que satisfaz o critério. Se você quer exibir somente o primeiro registro que satisfizer o critério, então encerre a execução, conforme em vermelho abaixo.

MsgBox "PIN Pendente para solicitação" : Exit Sub

 

 

Coloquei em "EstaPasta_de_trabalho" para rodar este macro quando inicia, também não funcionou. Sabe me dizer o porque?

Não, sem ver o seu arquivo. E explique o que você quer dizer com "não funcionou".

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!