Pergunte aqui
1

Macro procv

perguntadas 2015-04-29 02:54:07 +0200

imagem do gravatar de alexandre.anacleto2

updated 2015-05-01 04:50:57 +0200

imagem do gravatar de Grafeno

Estou precisando de uma macro para executar mesma funçao do procv.

Alguem pode me ajudar????

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Porque complicar? Qual o motivo ?

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2015-04-29 03:57:07 +0200 )editar

isso faria parte de uma macro maior ainda que estou programando.Preciso de uma macro que verifique se um valor de uma coluna contem em linhas de outra coluna.Usava o comando application.WorksheetFunction.VLookup no excel vba,mas agora presiso disso no calc.

imagem do gravatar de alexandre.anacleto2alexandre.anacleto2 ( 2015-04-29 05:04:32 +0200 )editar

Não serve colocar a PROCV numa célula qualquer e pegar o resultado?

imagem do gravatar de OlivierOlivier ( 2015-04-29 10:39:34 +0200 )editar

1 Resposta

1

respondidas 2015-04-29 15:14:47 +0200

imagem do gravatar de Grafeno

updated 2015-05-01 04:32:54 +0200

Olá,

Na função Basic abaixo chamamos a função interna Procv do Calc através do método "callFunction" do serviço "FunctionAccess":

Function ProcVert(Item, Intervalo As Object, IndiceCol As Integer)
Dim svcFA As Object

   svcFA = createUnoService("com.sun.star.sheet.FunctionAccess")
   ProcVert = svcFA.callFunction("VLOOKUP",Array(Item, Intervalo, IndiceCol, True))
End Function

Editado:

Exemplo de macro para chamar a função basic acima:

Sub ChamaProcVert
Dim oPlanAtiva as Object, oIntervalo as Object 

    ' Planilha Ativa
    oPlanAtiva = ThisComponent.CurrentController.ActiveSheet
    ' Intervalo onde a função irá procurar
    oIntervalo = oPlanAtiva.getCellRangeByName( "A2:B6" )
    ' Item que será procurado
    vCel = oPlanAtiva.getCellRangeByName( "E2" ).getString

    ' Chama a função ProcVert
    vResultado = ProcVert( vCel,oIntervalo,2 )
    ' Exibe o Resultado
    Print vResultado
End Sub

Arquivo de exemplo << aqui >>

At.te,
Grafeno

editar assinalar como ofensivo Excluir Link mais

Comentários

pode me dar um exemplo Grafeno?

imagem do gravatar de alexandre.anacleto2alexandre.anacleto2 ( 2015-04-29 23:48:22 +0200 )editar

@alexandre.anacleto2, editei minha resposta para incluir um exemplo (macro e arquivo). Espero que seja útil. Se lhe atender, não se esqueça de marcar a resposta como "resposta correta". Atte, Grafeno

imagem do gravatar de GrafenoGrafeno ( 2015-05-01 04:35:45 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

2 seguidores

Estatísticas

Perguntadas: 2015-04-29 02:54:07 +0200

Lidas: 451 vezes

Última atualização: May 01 '15