Tuesday, March 9, 2010

Usando las funciones de respuesta matricial desde VBA

Excel incorpora entre las funciones que reconoce algunas funciones que no devuelven un único valor sino matriz de datos. Son las denominadas funciones de respuesta matricial.

¿Podemos usar estas funciones desde VBA para Excel? ¿Cómo?
Sí, las funciones de respuesta matricial como MINVERSA, MMULT o TRANSPONER pueden ser llamadas desde VBA como cualquier otra función de Excel a partir del objeto Application.WorksheetFunction siendo los funciones (en inglés) miembros de este objeto [MInverse, MMult, Transpose].

Sin embargo al usar estas funciones deben tenerse en cuenta algunas consideraciones:
  • Las dimensiones de la matrix deben coincidir los índices usados. Por ejemplo si  la matriz se declara a partir de 0, deben situarse los elementos de la misma a partir de dicho índice; una matriz declarada como A(3,3) y con valores en los elementos.
  • El argumento matricial de estas funciones puede ser una matriz de tipos simples, un dato de tipo Variant con contenido matricial o un rango de celdas de cálculo (objeto Range).
  • La respuesta es un tipo Variant con contenido matricial.
Un ejemplo de estos usos se muestra en la imagen adjunta.

2 comments:

  1. Tenia que fer un treball amb matrius programant amb el VB i m'ha servit de molt.

    Gràcies!

    ReplyDelete
  2. como digo en q celda imprimir no entendi como lo imprimes en q lugar

    ReplyDelete