none
Como Criar uma função Matricial com VBA RRS feed

  • Pergunta

  • Prezados Amigos,

    Estou a procura de como criar uma função matricial. Seria uma UDF criada em VBA.

    Como faço para criar uma função matricial simples que receba, por exemplo, um Range como parâmetro e que me retorne em outro Range, por exemplo, o dobro dos valores contidos no Range recebido como parâmetro? Sei que poderia fazer facilmente isso sem necessariamente criar uma função matricial para fazer isso. Todavia, meu objetivo é aprender a criar uma função matricial em VBA de forma simples e poder usá-la na própria interface do Excel como se fosse uma função nativa (com é o caso da função Nativa MATRIZ.INVERSO).

    Seria alguma coisa como (creio eu):
    Function Dobro (Valores As Range) As Range
    Dobro = Valor * 2
    End Function

    Assim, se eu tiver uma planilha com os seguintes valores:
    A1 = 2, B1 = 4
    A2 = 1, B2 = 3

    Eu selecionaria a faixa C1:D2 (mesma quantidade de linhas e colunas que eu quero saber o dobro dos valores) e na barra de fórmulas eu digitaria = Dobro(A1:B2) e teclaria CTRL+SHIFT + ENTER pois se trata de um cálculo matricial. Isso, então me levaria ao seguinte resultado:
    C1 = 4, D1 = 8
    C2 = 2, D2 = 6.

    Teria como fazer isso?

    Desde já, fico muito agradecido a quem possa ajudar.

    Wagner Morel


    • Editado Wagner Morel segunda-feira, 14 de outubro de 2013 01:15
    segunda-feira, 14 de outubro de 2013 01:13

Respostas