Ir ao conteúdo
  • Cadastre-se

Excel inputbox grava ultima inserção


Posts recomendados

Boa tarde,

 

Uso uma macro com inputs para localizar dados em área determinada dentro da planilha, gostaria de saber se existe alguma forma de a box vir pré carregada conforme a ultima vez que foi utilizada, pois existe a possibilidade de ter até 20 ou mais campos dentro da planilha igual.

 

segue minha macro utilizada atualmente.

 

Sub Pesquisa_Avançada()

    Dim linha As Long
    linha = ActiveCell.Row
     Range("AB" & linha).Select
     ActiveCell.Offset(3, 0).Select

    Dim EncontraString As String
    Dim Intervalo As Range
    EncontraString = "*" & InputBox("Digite a pesquisa", "Pesquisa Avançada") & "*"
        If Trim(EncontraString) <> "" Then
            With Sheets("Clientes").Range("Y:AF")
                Set Intervalo = .Find(What:=EncontraString, _
                                            After:=ActiveCell(1), _
                                            LookIn:=xlValues, _
                                            LookAt:=xlWhole, _
                                            SearchOrder:=xlByRows, _
                                            SearchDirection:=xlNext, _
                                            MatchCase:=False)
                    If Not Intervalo Is Nothing Then
                    Range(Intervalo.Address).Select
                    Else
                        MsgBox "Não Localizado.", vbCritical, "Atenção"
                    End If
            End With
        End If
        
End Sub

Link para o comentário
Compartilhar em outros sites

Em 12/06/2019 às 15:28, douglasdasilva2901 disse:

 ... gostaria de saber se existe alguma forma de a box vir pré carregada conforme a ultima vez que foi utilizada,
 

Em princípio não.

O seu código seleciona uma única célula que contém o valor procurado. Se você utilizar o recurso Localizar/Substituir lá há a opção de Localizar tudo. Não serviria?

Se você nos informar o que você pretende fazer após rodar o código, isto é, qual o seu objetivo ao selecionar a(s) célula(s) talvez apareça alguma sugestão.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, osvaldomp disse:

Em princípio não.

O seu código seleciona uma única célula que contém o valor procurado, se você utilizar o recurso Localizar/Substituir lá há a opção de Localizar tudo. Não serviria?

Se você nos informar o que você pretende fazer após rodar o código talvez apareça alguma sugestão.

A principio eu uso ela para localizar uma informação dento de um determinado intervalo, quando ela termina a localização me leva até o resultado, mas por exemplo se eu tiver vários resultados abaixo que são iguais e o primeiro encontrado e precisar usar novamente a macro, vou ter que indicar de novo o que estou procurando.

 

Exemplo procurei chocolate, ele achou chocolate x, mas eu quero procurar chocolate novamente pois quero outro modelo, e quando rodar a macro novamente terei que preencher a inputbox novamente pois ela não memorizou a ultima pesquisa, queria que ao menos ela apareça já preenchida com chocolate para facilitar a nova pesquisa.

Link para o comentário
Compartilhar em outros sites

Não salientei um detalhe, quando uso localizar normal, para achar cada campo que preciso leva em media 30 segundos, usando a macro do jeito que esta levo apenas 1 a 2 segundos para localizar, tendo em vista que ela procura no intervalo que eu determinei Range("Y:AF") se consegui-se alguma forma ao menos de fazer um localizar próximo ou fazer a inputbox manter os valores inseridos na ultima pesquisa, ira ajudar a agilizar o meu processo.

Link para o comentário
Compartilhar em outros sites

Para tornar o recurso Localizar tão rápido quanto a sua macro você precisa antes selecionar o intervalo de busca (Y:AF).;)

 

Se você deixar de lado a sua macro e responder ao que comentei no post #3 (cópia abaixo) talvez facilite a obtenção de ajuda para a sua demanda.

Se você nos informar o que você pretende fazer após rodar o código, isto é, qual o seu objetivo ao selecionar a(s) célula(s) talvez apareça alguma sugestão.

Link para o comentário
Compartilhar em outros sites

@osvaldomp Fui pesquisar sobre o assunto e acabei encontrando uma solução, tive que fazer alguns ajustes na macro mas ficou funcional e pratica para minha aplicação. se alguém precisar de algo parecido abaixo compartilho o código.

 

salientei as partes que precisei alterar da outra formula

 

Sub Pesquisa_Avançada()

    Dim linha As Long
    linha = ActiveCell.Row
     Range("AB" & linha).Select
     ActiveCell.Offset(3, 0).Select

    Dim EncontraString As String
    Dim Intervalo As Range
    Static encontrar As String
    encontrar = InputBox("Digite a pesquisa", "Pesquisa Avançada", encontrar)
    EncontraString = "*" & encontrar & "*"
        If Trim(EncontraString) <> "" Then
            With Sheets("Clientes").Range("Y:AF")
                Set Intervalo = .Find(what:=EncontraString, _
                                            After:=ActiveCell(1), _
                                            LookIn:=xlValues, _
                                            LookAt:=xlWhole, _
                                            SearchOrder:=xlByRows, _
                                            SearchDirection:=xlNext, _
                                            MatchCase:=False)
                    If Not Intervalo Is Nothing Then
                    Range(Intervalo.Address).Select

                    Else
                        MsgBox "Não Localizado.", vbCritical, "Atenção"
                    End If
            End With
        End If

End Sub

 

 

Link para o comentário
Compartilhar em outros sites

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!