Boa tarde, estou trabalhando com uma planilha utilizando o modulo procv
Function PROCVMÚLTIPLO(NumeroPesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range) As String Dim Valor, Numero Dim k As Long k = 1 For Each Numero In IntervaloPesquisa If Numero = NumeroPesquisa Then Valor = IntervaloRetorno(k, 1) PROCVMÚLTIPLO = PROCVMÚLTIPLO & Valor & " | " End If k = k + 1 Next Numero PROCVMÚLTIPLO = Left(PROCVMÚLTIPLO, Len(PROCVMÚLTIPLO) - 2) End Function
porem gostaria q ao invez de todos os resultados sairem na mesma linha em horizontal, queria que saissem em linhas diferentes na vertical
não tem como mesmo ? D:
coloque um exemplo da sua planilha com um exemplo de como vc quer que fique
e para evitar problemas mande ela compactada
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Desculpe a demora, o arquivo que eu preciso trabalhar não posso estar enviando, porem fiz esse pequeno exemplo que espero que de para entender, muito obrigado.
Precisa ser com VBA ? Não pode ser com formula ?
Veja um exemplo utilizando as Funções Indice / Menor / SomarProduto / Lin, eu não sou bom com formulas, tirei esta dica do link abaixo :
0095-Simulando PROCV com múltiplos retornos
https://usuariosdoexcel.wordpress.com/2 ... -retornos/
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Mauro, muito boa sua formula, mas infelizmente sim, eu realmente preciso que seja a partir de um modulo.
mesmo assim agradeço sua ajuda.
Mauro, muito boa sua formula, mas infelizmente sim, eu realmente preciso que seja a partir de um modulo.
mesmo assim agradeço sua ajuda.
Korgo, se quer em VBA, e estou supondo que irá digitar em A2 e ter os resultados nas colunas ao lado, não precisaria ser com esta função, poderiamos estar desenvolvendo uma outra rotina para apos digitar em A2 faça a relação da forma que pretende, pelo que vi esta função não tem como utilizar como matricial e funções nao jogam resultado em outras celulas.
Se servir, é só avisar que desenvolvemos.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Moura, serve sim, agradeço desde já.
olha fiz algo aqui mas enrolei um pouco por querer enfeitar demais
mas acho que dá para vc adaptar facilmente
Sub PROCVM2(ByVal codProcurado, ByVal NomeABA, ByVal CoLRetorno As String, ByVal ColunaListagem As String) c1 = Cells(1, CoLRetorno).Column '--------<<--coluna do valor de retorno do valor CoLCod = "E" '--------------------------------<<--coluna do codigo procurado li = 2 '-----------------------------------------<<-----linha onde começa a lista i = 2 'primeira linha onde vai listar os valores c = Cells(1, CoLCod).Column With Sheets(NomeABA) lf = .Cells(Rows.Count, CoLCod).End(xlUp).Row 'ultima linha da lista For l = li To lf If codProcurado = .Cells(l, c).Value2 Then Cells(i, ColunaListagem).Value2 = .Cells(l, CoLRetorno).Value2 i = i + 1 End If Next End With End Sub
no caso chama a maco com algo momo isso
Sub listproc() c = "C" ' coluna onde a macro vai colocar os valores lf = Cells(Rows.Count, c).End(xlUp).Row 'ultima linha da lista Range(c & 2, c & lf).ClearContents ' limpa area onde vai a listagem Call PROCVM2(Range("a2").Value2, "Plan1", "D", c) End Sub
depois eu acerto se ninguem aparecer
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"