Logo Hardware.com.br
Ramon Dias
Ramon Dias Novo Membro Registrado
18 Mensagens 0 Curtidas

Campo de pesquisa e macro retorna valor

#1 Por Ramon Dias 15/11/2015 - 16:00
Boa tarde galera,

Me perguntei, será que é possível adicionar uma caixa de texto e talvez umas caixas de seleção diretamente na planilha (quero dizer sem use form) para servir como campo de busca?
Por exemplo: a caixa de texto seria o campo onde eu digitaria alguma coisa, texto ou numero, e as caixas de seleção seriam critérios de que coluna deve procurar. Retornando com o autofiltro daquela informação. Exemplo banal: É quase o mesmo que usar autofiltro das colunas. Sabe, aquela setinha pra baixo. Entendem?

E outra, é possível através de uma macro ela entender minha linha ativa e retornar em uma caixa de texto o valor da célula da coluna 'A.linha ativa'. Exemplo:
Minha planilha tem 4 colunas e 30 linhas. Eu priorizo a minha coluna 'A' como a mais importante pra mim. Então gostaria que em uma caixa de texto ela retorna-se o valor da minha célula da coluna A da minha linha ativa. Se eu estiver na coluna D linha 26 (então, D26), então uma caixa de texto me mostrará o valor da minha célula 'A26'. Entendem?

Lembrando que este é só um exemplo, pois a minha planilha é muito maior que isso. Porém, o objetivo é esse. Eu pressuponho que estejam se perguntando porque eu não olho pra célula A pra saber o valor da célula?! Então eu respondo, e se a minha coluna A estiver oculta? Dentro das diversas colunas é muita coisa.

Vou adicionar uma exemplo. Obrigado galera.

Anexos

Marcelo G Prudencio
Marcelo G Pr... Geek Registrado
1K Mensagens 227 Curtidas
#2 Por Marcelo G Pr...
15/11/2015 - 18:31
Ramon a programação feita no userform é basicamente a mesma que se faz para a planilha, pois o userform é apenas um objeto e nao faz parte da programação.

Como vc disse sua planilha é muito maior que isso, e como é de seu conhecimento é possivel utilizar um recurso nativo do excel.

Esse tipo de programação estetica deixa o arquivo mais bonito, porem dependendo do volume de dados a ser tratado não recomendo pois isso aumenta o tamanho do arquivo e dependendo da maquina deixa o arquivo lento.

Qto a segunda duvida acredito que de pra fazer por formula se for para ter o resultado diretamente na celula.
Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho." - Autor Desconhecido
Simplifica que simples fica. - Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado" - Jorge Paulo Lemann.
Ramon Dias
Ramon Dias Novo Membro Registrado
18 Mensagens 0 Curtidas
#3 Por Ramon Dias
15/11/2015 - 19:20
Marcelo G Prudencio disse:
Ramon a programação feita no userform é basicamente a mesma que se faz para a planilha, pois o userform é apenas um objeto e nao faz parte da programação.

Como vc disse sua planilha é muito maior que isso, e como é de seu conhecimento é possivel utilizar um recurso nativo do excel.

Esse tipo de programação estetica deixa o arquivo mais bonito, porem dependendo do volume de dados a ser tratado não recomendo pois isso aumenta o tamanho do arquivo e dependendo da maquina deixa o arquivo lento.

Qto a segunda duvida acredito que de pra fazer por formula se for para ter o resultado diretamente na celula.

@Marcelo G Prudencio Obrigado pelos esclarecimentos Marcelo. Mas e quanto a ajuda? Eu sou novo em vba. Obrigado
Basole
Basole Geek Registrado
945 Mensagens 596 Curtidas
#4 Por Basole
15/11/2015 - 20:34
@Ramon Dias veja este exemplo que fiz usando InputBox. Aperte o botao ou o atalho de teclado [Cltr+q]
No 1º inputbox inseira o que esta procurando, no 2º insira a coluna q deseja localizar.

E com o textbox que voce inseriu, nao seria necessario usa-lo pois voce quer encontar nas cordenadas que voce deterinar (Coluna(informada) X Linha (selecionada) ).
Com essas informacoes ja e o bastante para a macro encontar os dados da celula, nao precisa voce digitar, pois digamos que voce esteja na linha 100, entao vc teria que retornar a linha 1 para digitar fica veio inviavel, mas para testar digite o valor na textbox1 e click no botao filtrar.

Anexos

Click em Curtir se a resposta foi útil. boa.gif Dê retorno por favor. Se resolveu, atencao_regras.gif Altere o Titulo como [ Resolvido ] comemorando.gif
Marcelo G Prudencio
Marcelo G Pr... Geek Registrado
1K Mensagens 227 Curtidas
#5 Por Marcelo G Pr...
15/11/2015 - 20:48
Para a segunda necessidade vc pode testar esse codigo. esta retornando o valor na celula O2

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.ScreenUpdating = False

Range("O2").Value = Range("A" & Target.Row).Cells(1, 1).Value

Application.ScreenUpdating = False

End Sub

Tente adaptar a sua necessidade.
Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho." - Autor Desconhecido
Simplifica que simples fica. - Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado" - Jorge Paulo Lemann.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal