Excel - Operaciones con Matrices en VBA

 
Vista:
Imágen de perfil de fucken
Val: 83
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Operaciones con Matrices en VBA

Publicado por fucken (30 intervenciones) el 16/01/2020 00:56:05
Existe alguna forma de hacer esto?

A=[{1,2,3;4,5,6;7,8,9}]

B=2*A

me muestra error que no coinciden los tipos
si lo hago de esta forma si funciona pero quiero hacerlo con variables
B=[2*{1,2,3;4,5,6;7,8,9}]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Héctor Miguel
Val: 2
Ha aumentado su posición en 12 puestos en Excel (en relación al último mes)
Gráfica de Excel

Operaciones con Matrices en VBA

Publicado por Héctor Miguel (1 intervención) el 29/01/2020 01:53:23
1) vba no tiene operadores para trabajar con matrices, por lo que debes usar loops para ese tipo de operaciones

2) la linea que expones => A=[{1,2,3;4,5,6;7,8,9}] se llama "notación abreviada" y es lo mismo que usar el método Evaluate("texto") desde VBA

3) si no quieres "caer" en los loops puedes usar nombres como "puente" para determinar una matriz en VBA (p.ej.)
la siguiente muestra genera una matriz "b" de 3x3 en base 1 (NO base 0)

1
2
3
4
5
6
7
8
9
10
11
Sub multiplicaMatriz()
  Dim b, m As Long, n As Long
  Names.Add "a", "={1,2,3;4,5,6;7,8,9}"
  b = [2*a] ' <= igual que: b = evaluate("2*a")
  Names("a").Delete
  For m = 1 To 3
    For n = 1 To 3
      Debug.Print b(m, n)
    Next
  Next
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar