Saltar al contenido

Error 1004 al usar función MInverse sobre matriz de dimension variable


Recommended Posts

publicado

Buenas a todos:

Estoy empezando en la programación en VBA para Excel y gracias a vuestro foro, estoy aprendiendo bastantes cosillas pero me he quedado atascado con algo y no soy capaz de encontrar la solución.

Estoy haciendo, a modo de ejercicio, un sencillo programa que permita al usuario introducir una matriz de dimensión variable para calcular su función inversa. La matriz se escribe desde la celda A4 en adelante y mi idea es que el programa lea el número de columnas con contenido para establecer el orden de la matriz, redimensionar los vectores y calcular la inversa. El programa es el siguiente:

Option Base 1

Dim M() As Variant
Dim MInv() As Variant


Sub Inversa()


Dim n As Integer
Dim i As Integer, j As Integer


'Calculo de la dimensión de la matriz
n = 0


Do While Cells(4, n + 1) <> ""
n = n + 1
Loop


'Redimensionamiento de las variables
ReDim M(1 To n, 1 To n)
ReDim MInv(1 To n, 1 To n)


'Almacenamiento de los coeficientes de la matriz
For i = 1 To n
For j = 1 To n
M(i, j) = Cells(14 + i, j)
Next j
Next i


'Cálculo de la matriz inversa
MInv = Application.WorksheetFunction.MInverse(M)


'Escritura de la matriz
For i = 1 To n
For j = 1 To n
Worksheets("Hoja2").Cells(i, j) = MInv(i, j)
Next j
Next i




End Sub[/CODE]

El problema surge al llegar a la línea

[CODE]MInv = Application.WorksheetFunction.MInverse(M)[/CODE]

ya que me aparece el error siguiente:

"No se puede obtener la propiedad MInverse de la clase WorksheetFunction".

Si alguien fuese tan amable de explicarme donde puede estar el error, le estaría muy agradecido.

Un saludo.

Ejercicioinversas.xls

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.