Obtendo endereço de celulas (vba) - Microsoft Office - Clube do Hardware
Obtendo endereço de celulas (vba)
Por Joao Gabriel, 18 de agosto de 2016 em Microsoft Office
Então, to tentando desenvolver uma função pro Excel utilizando o Vba, porém "encalhei" em uma parte:
não consigo obter o endereço de uma célula que estou iterando de um elemento range... Ou melhor dizendo: minha função recebe um elemento range, o qual irei comprar um um determinado valor, e se forem iguais, preciso do endereço dessa célula (que está contida no elemento range), porém não consigo obter o endereço da célula... Alguém sabe como posso fazer isso?
Segue o código que tenho até agora.
Public Function pesquisa(A As Range, Campo As String)
For Each Celula In A.Cells
If (StrComp(Celula, Campo) = 0) Then
'aqui deveria obter o endereço (linha e coluna) da celula que satisfaz à condição anterior
Nao entendi bem, você quer saber qual celula tem determinado valor?
@CasaDoHardware Tambem... Quero saber se determinada célula tem determinado valor, e então obter o endereço dela (basicamente vou procurar em uma planilha esse determinado valor, e obter os demais dados associado à ele, que estarão em outras colunas, em uma distribuição conhecida), algo próximo do que a função PROCV faz, porém ela não me atende.
Ja que nao disponibilizou um modelo de seu arquivo, acredito que você tenha mais de uma ocorrencia com o valor procurado, sendo assim:
Do while cells(linha,1).value <>""
Valor = cells(linha,1).value
'Digite o valor procurado na celula A1
if Cells(1,1).value = valor then
'Rotina para exibir os dados desejados
Se nao conseguir adaptar disponibilize o arquivo.
Se é so para pesquisar os dados esse codigo acima funciona apos ajuste da linha rotina para exibir os dados.
49 minutos atrás, Joao Gabriel disse:
Por acaso... você já tentou usar ÍNDICE() + CORRESP() para fazer busca na sua planilha?
@DJunqueira Sim, já até consegui fazer o INDICE() + uma serie de SE, e umas outras funções... Mas mesmo assim não ficou lá aquelas coisas... Basicamente eu vou ter uma serie de planilhas listando uma serie de dados coletados associados (por planilha) à um determinado produto, e preciso coletar todos os dados referente a cada produto de uma vez... Como disse, da pra fazer com as funções padrão do excel, mas não fica um trabalho bem feito, foi então que decidi construir minha própria função.
você ainda poderia usar uma tabela dinâmica p/ o q você mencionou. Funções criadas com VBA não apresentam o mesmo desempenho q as funções nativas e utilizadas em larga escala podem degradar muito o desempenho da sua pasta de trabalho.
@DJunqueira Tabela dinamica? Teria algum exemplo para me indicar?
Básico de tabela dinâmica
http://gurudoexcel.com/analise-de-dados-com-tabela-dinamica/
Acredito que um modelo do arquivo com explicações diretas do resultado esperado provavelmente a solução ja teria aparecido, mas enfim, vamos continuar tentando.