Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Bruno Rimoldi

Excel RESOLVIDO Uso do IF com 2 hipóteses - VBA

Recommended Posts

Boa tarde pessoal,

 

não estou conseguindo fazer com que esse codigo rode conforme o previsto.

 

A celula J24 e J23 são datas (mm/aaaa) e se forem iguais fazer a condição abaixo "Apuração ou Reapuração" caso seja "ISS". Se for diferente de ISS, ou seja, qualquer outro imposto, a condição é outra. Quando passo o mouse no Depurador (conforme anexo), aparece o resultado Erro 2015.

 

Não consigo postar a planilha aqui porque é muito grande e para chegar até esse procedimento passa por muitas SUBs.

 

            If Sheet5.Range("J14") = "ISS" And Sheet5.Range("J24") = Sheet5.Range("J23") Then
                Sheets("DOF").Range("G4") = "APURAÇÃO"
            Else
                Sheets("DOF").Range("G4") = "REAPURAÇÃO"
            End If
            
            If Sheet5.Range("J14") <> "ISS" And Sheet5.Range("J24") = Right(Sheet5.Range("J22"), 7) Then
                Sheets("DOF").Range("G4") = "APURAÇÃO"
            Else
                Sheets("DOF").Range("G4") = "REAPURAÇÃO"
            End If

 

TELA COM ERRO.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, boa tarde!

 

Creio que esteja encontrando o erro, pois nas condições IF você pede para verificar uma planilha com o nome Sheets5, porém, ao observar o navegador de objetos do lado esquerdo, não constatei a existencia de nenhuma aba/sheet como o nome Sheets5.

 

Ao invés de Sheets 5 utilize o nome real da planilha de onden advem os dados que você quer chegar na condição. Por exemplo :

 

Sheets17 ou Sheets("DOF") . . .

 

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe sim Sheet5. O problema causado é que a celula referenciada tem formulas, e esta como: #VALUE! (Erro 2015)

Neste caso teria que usar o seerro. 

Editado por Basole

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Bom dia @Basole e @Philipp Moreira,
    consegui resolver o enigma eheheh. O codigo ficou assim:

     

    If Sheet5.Range("J14") <> "ISS" And Sheet5.Range("J24") = Right(Sheet5.Range("J22"), 7) Then
         Sheets("DOF").Range("G4") = "APURAÇÃO"
    Else
         Sheets("DOF").Range("G4") = "REAPURAÇÃO"
    End If
    
    If Not IsError(Sheet5.Range("J23")) Then
    If Sheet5.Range("J14") = "ISS" And Sheet5.Range("J24") = Sheet5.Range("J23") Then
        Sheets("DOF").Range("G4") = "APURAÇÃO"
    Else
        Sheets("DOF").Range("G4") = "REAPURAÇÃO"
    End If
    End If

    Muito obrigado pela ajuda...

    Bruno

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×