PROCV-Multiplo

Será que é possível uma macro Calc de acordo com a macro Excel abaixo?

Function PROCVMÚLTIPLO(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range) As String
Dim Valor, Nome
Dim k As Integer
Application.Volatile
    k = 1
    For Each Nome In IntervaloPesquisa
        If Nome = NomePesquisa Then
        Valor = IntervaloRetorno(k, 1)
        PROCVMÚLTIPLO = PROCVMÚLTIPLO & Valor & "; "
        End If
        k = k + 1
    Next Nome
    PROCVMÚLTIPLO = Left(PROCVMÚLTIPLO, Len(PROCVMÚLTIPLO) - 2)
End Function

=========================================

TABELA: 
Coluna A,  título Nomes = José, Antônio, Pedro, José, Antônio, José
Coluna B, título Valores = 10. 20, 30, 40, 50, 60

E2 = José
F2 = Resultado = 10; 40; 60
Fórmula =PROCVMÚLTIPLO(E2;$A$2:$A$7;$B$2:$B$7)
E2 = NomePesquisa
$A$2:$A$7 = IntervaloPesquisa
$B$2:$B$7 = IntervaloRetorno

@muca

Segue arquivo em function como solicitado.

Arquivo2

Se é essa função que procura, marque como resposta correta.

----------

Segue uma planilha com fórmula que realiza a busca de informações com mais de 01 condição.

Arquivo1

Segue link do bate papo aqui no ASK sobre este assunto

1 Like

Obrigado Conrado, excelente exemplo, porém preciso do resultado apontado na pergunta.

Obrigado Conrado, o Arquivo2 solucionou perfeitamente a minha dúvida. Gilberto obrigado pela atenção.

Só acrescentar antes da function…

Desta maneira é acionado o Suporte a VBA, testei e funcionou.

' Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Option Explicit

@muca, respondeu:

ERRO:

Erro de Execução do BASIC
‘5’
Chamada de procedimento incorreta.

Segue o arquivo teste usado

@Gilberto Schiavinatto, no arquivo utilizando a function no exemplo citado, precisa acrescentar o seguinte comando antes de iniciar o procedimento For Next: PROCVMÚLTIPLO = "". se não fizer isso, os números serão concatenados sempre, acrescentando com as informações anteriores da célula.

Ok @Conras, perfeito, como executei uma vez não vi o erro. Grato.