Me gustaría saber unas cosas:
- ¿Cómo posicionarme al final (derecha) de la matriz e ir recorriendo
la matriz de arriba a abajo y de derecha a izquierda? La mtriz no
tiene unas limitaciones definidas, empieza en una fila concreta, eso
sí.
- ¿Cómo debo ir accediendo al contenido de las celdas para poder
obtener los valores de cada una y realizar operaciones en caso de que
sea necesario hacerlas?
- ¿Cómo puedo ir modificando el valor de esas celdas en caso de que
deba hacerlo?
Espero que puedan ofrecerme algunas orientaciones. muchas gracias por
su ayuda. Un saludo!
Hola,
Es importante el orden? primero filas y despues columnas o primero columnas
y despues filas?
La prueba que te he preparado considera primero las filas desde la derecha y
luego pasa a la columna anterior.
Para modificar el contenido de una celda solo es necesario escribir:
range("A3")=3
Si comentas que m�s necesitas y que rangos empleas (aunque solo sea la celda
origen) se pueden eliminar alguna cosa.
El codigo lo he intentado hacer bastante generico, cambia los valores de una
matriz por el numero de orden en que ha leido el elemento
La matriz se define por la direcci�n donde est� la primera celda (arriba a
la izquierda) definido en la variable origen.
Un saludo,
Juan
-- inicio codigo
Sub CambiaMatriz()
Dim origen As String
Dim final As String
Dim OF As String
Dim i As Long
Dim j As Long
Dim k As Long
origen = "B4"
final = Range("B4").End(xlDown).End(xlToRight).Address
OF = origen & ":" & final
k = 0
For i = Range(OF).Columns.Count To 1 Step -1
For j = 1 To Range(OF).Rows.Count
Range(OF).Cells(j, i) = k
k = k + 1
Next j
Next i
End Sub
-- fin codigo
Muchísimas gracias por la ayuda. Me ha servido de mucho. Ya lo tengo
funcionando, aunque estoy depurando algunas cositas. Gracias de nuevo!