Página 1 de 1

se celula estiver vazia, trazer mensagem "Não há registro" [RESOLVIDO]

Enviado: Seg Fev 10, 2020 2:51 pm
por rachelgdias
Boa tarde,
Estou com um botao de comando (no evento click), o excel faz a pesquisa avançade e me tras alguns resultados nas textbox.
*Problema: Quando faço a pesquisa por exemplo, REAJUSTE DA PARCELA, ao clicar no botao de comando ele filtra, e entao quando nao tem nenhum REAJUSTE DA PARCELA, o excel vai filtrar, mas as linhas vao ficar em BRANCO.

*gostaria que quando ocorresse isso o excel me trouxece uma msgbox," a celula esta vazia" e desse um exit sub. So que ele dá erro, pois quero trazer um valor para textbox quando filtrado, e quando a celula esta vazia, ele da erro.

alguem pode me ajudar.
pensei assim, se celula a2 conter um valor entao a textbox2 me tras o valor da celula a2,
e se a celula a2 estiver vazia, entao me tras a msgbox, a celula a2 esta vazia e dá um exit sub para encerrar.

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Ter Fev 11, 2020 12:39 pm
por milton
rachelgdias boa tarde!
Se voce puder, anexa o arquivo ou parte dele, desse forma fica mais de alguém pode ajudar.
abraço

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Qua Fev 12, 2020 10:12 am
por rachelgdias
Gente consegui resolver meu problema: Trazer o ultimo dado preenchido da linha para TEXTBOX , (se houver registro executa e se nao houver registro *estiver vazia a linha, da a mensagem "Nao ha nada registrado")

Postando a minha soluçao:

Private sub commandButton1_Click()

Range("A2:A1000").Select "seleciona a coluna desejada
If IsEmpty (ActiveCelll) then 'se nao tiver nada na linha ele PARA e me dá a MSGBOX
MsgBox "Não há nada registrado"
Exit Sub "sai do comando e para tudo
End if

Else "ou
Dim Linha As Long "se a ultima linha estiver preenchida executa
Linha = Range ("A2").End(xlDown).Row ' lê a ultima linha preenchida
UltimaLinha = Range("A" & Linha).Value 'pega o resultado da ultima linha preenchida
textbox1.value = UltimaLinha 'inseri o ultimo dado da linha para minha textbox
End if

End sub


Quero agradecer a todos do forum, pois vcs são otimos.

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Qua Fev 12, 2020 11:21 am
por Reinaldo
Bom que tenha resolvido; porem a rotina exposta acima, da maneira que está, irá gerar erro no editor VBE

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Qua Fev 12, 2020 11:23 am
por Reinaldo
Bom que tenha resolvido; porem a rotina exposta acima, da maneira que está, irá gerar erro de compilação.

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Qua Fev 12, 2020 11:46 am
por rachelgdias
Reinaldo escreveu: Qua Fev 12, 2020 11:21 am Bom que tenha resolvido; porem a rotina exposta acima, da maneira que está, irá gerar erro no editor VBE
Ai meu Deus !!!!! O que eu teria que mudar ..... Só esperando o ERRO......

Re: se celula estiver vazia, trazer mensagem "Não há registro"

Enviado: Qua Fev 12, 2020 3:04 pm
por Reinaldo
Sem considerar a rotina toda,mas apenas a escrita
o VBA para comentarios aceita apenas Aspa simples " ' " e não dupla " " "
Range("A2:A1000").Select "seleciona a coluna desejada (isso em varias linhas)

O end if antes do Else
Exit Sub "sai do comando e para tudo
End if

Else "ou...

Para "rodar" algo +/- assim

Código: Selecionar todos

Private Sub commandButton1_Click()
Dim Linha As Long
Dim UltimaLinha As String                                      'se a ultima linha estiver preenchida executa

Range("A2:A1000").Select                     'seleciona a coluna desejada"
    If IsEmpty(ActiveCell.Value) Then                    'se nao tiver nada na linha ele PARA e me dá a MSGBOX
        MsgBox "Não há nada registrado"
        Exit Sub                                                'sai do comando e para tudo
    Else                                                              'ou
        Linha = Range("A2").End(xlDown).Row       ' lê a ultima linha preenchida
        UltimaLinha = Range("A" & Linha).Value      'pega o resultado da ultima linha preenchida
        textbox1.Value = UltimaLinha                        'inseri o ultimo dado da linha para minha textbox
    End If
End Sub
Se atende ou nãon~]ao sei; pois não entendi o que deseja/espera

Re: se celula estiver vazia, trazer mensagem "Não há registro" RESPONDIDO

Enviado: Qui Fev 13, 2020 7:34 am
por rachelgdias
Reinaldo escreveu: Qua Fev 12, 2020 3:04 pm Sem considerar a rotina toda,mas apenas a escrita
o VBA para comentarios aceita apenas Aspa simples " ' " e não dupla " " "
Range("A2:A1000").Select "seleciona a coluna desejada (isso em varias linhas)

O end if antes do Else
Exit Sub "sai do comando e para tudo
End if

Else "ou...

Para "rodar" algo +/- assim

Código: Selecionar todos

Private Sub commandButton1_Click()
Dim Linha As Long
Dim UltimaLinha As String                                      'se a ultima linha estiver preenchida executa

Range("A2:A1000").Select                     'seleciona a coluna desejada"
    If IsEmpty(ActiveCell.Value) Then                    'se nao tiver nada na linha ele PARA e me dá a MSGBOX
        MsgBox "Não há nada registrado"
        Exit Sub                                                'sai do comando e para tudo
    Else                                                              'ou
        Linha = Range("A2").End(xlDown).Row       ' lê a ultima linha preenchida
        UltimaLinha = Range("A" & Linha).Value      'pega o resultado da ultima linha preenchida
        textbox1.Value = UltimaLinha                        'inseri o ultimo dado da linha para minha textbox
    End If
End Sub
Se atende ou nãon~]ao sei; pois não entendi o que deseja/espera
Muito obrigada Reinaldo, fiz todas as correções e esta tudo certo.