Hola quiero hacer una Funcion como MMULT pero que hace algo distinto, quiero que haga lo siguiente.
matriz 1
| 1 0 1 |
| 1 0 1 |
| 1 1 1 |
matriz 2
| 1 0 1 |
| 0 0 0 |
| 0 0 1 |
Lafuncion suma termino a termino y si el resultado es dos en la matriz resultante pondra 1
lo que no se hacer es que la funcion devuelva la matriz y lo haga al seleccionar y presionar Ctrl+Mayús+Enter
( se que que esto lo pedo hacer con una macro, o sea un procedimiento Sub...End Sub)
Para que tu función devuelva una matriz, debes tener varias cosas en cuenta
Define tu función como Variant
Utiliza una variable Array para almacenar el resultado mientras lo vas calculando
Si necesitas conocer el rango donde se ha introducido la fórmula con Ctrl Intro, puedes emplear Application.Caller (esto, como es lógico, funciona si la fórmula se llama desde celdas de la hoja de cálculo). esto es interesante para saber por ejemplo las dimensiones de tu resultado
realiza los cálculos que tengas que hacer con la función y ve guardándolos en esa variable auxiliar para el resultado
y por último asigna el valor del resultado de la función
Tienes más información al respecto, por ejemplo aquí: http://www.cpearson.com/excel/returningarraysfromvba.aspx
------
Ya sé Excel, pero necesito más.