Excel - recorrer matriz

 
Vista:

recorrer matriz

Publicado por asdfg (3 intervenciones) el 02/02/2012 19:35:07
Amigos:

Tengo que recorrer dos matrices y de acuerdo al valor que tengo en la celda años actual hago una consulta si el campo fecha no esta vacio, tengo que buscar en la matriz 1 y tomar la columna donde esta ubicada y despues recorrer la matriz 2 y buscar de acuerdo a la celda grado el valor en la matriz 2.

ejemplo

nombre, años, grado, años actual, grado actual

juan perez, 5, 30, (esta columna depende de recorrer la matriz), 27

matriz 1
años
C D E F G H I J K L M N O P Q
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

como en el ejemplo los años son 5 debo capturar la columna donde se encuentra el 5 en la matriz 1 y una vez capturado recorrer la matriz 2. En este caso esta en la columna M

matriz 2
En la matriz 2 debo recorrer hasta encontrar grado y grado actual que seria ejemplo A15 Y B15 y de hay recorrer la fila hasta llegar a la columna M que debiese devolver Cero

grado, grado actual años
A B C D E F G H I J K L M N O P Q
A13 30 29 11 11 10 9 8 8 7 6 5 4 3 2 1 0 0
A14 30 28 7 7 6 6 5 4 3 2 1 0 0 0 0 0 0
A15 30 27 4 4 3 2 1 0 0 0 0 0 0 0 0 0 0

A16 29 28 10 10 10 9 8 8 7 6 5 4 3 2 1 0 0
A17 29 27 6 5 6 5 5 4 3 2 1 0 0 0 0 0 0
A18 29 26 4 4 3 2 1 0 0 0 0 0 0 0 0 0 0


espero me puedan orientar, la verdad soy nueva en esto y revisado muchos codigo pero no se me ocurre como integrarlos todos, yo he logrado capturar la columna pero no se como tomar ese dato y recorrer la matriz2.
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 JuanC

recorrer matriz

Publicado por JuanC (1237 intervenciones) el 04/02/2012 20:26:41
te lo podría resolver si fueras un poquito más clara...
si querés enviame el archivo x mail y explicame bien con detalles...

Saludos, desde Baires, JuanC
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

recorrer matriz

Publicado por asdfg (3 intervenciones) el 06/02/2012 20:15:08
ok, gracias te lo envio
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
Imágen de perfil de JuanC

recorrer matriz

Publicado por JuanC (1237 intervenciones) el 12/02/2012 14:16:37
una pequeña función (UDF) que te resuelve el problema...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Function BienioN(ByVal bienio As Byte, ByVal actual As Byte, ByVal nuevo As Byte) As String
Dim r As Range, c As Range, s As Range
Dim lRow&, lCol$
On Error Resume Next
Application.Volatile True
Set s = Range("D8:R8").Find(bienio, LookAt:=xlWhole)
lCol = VBA.Mid(s.Address(0, 0), 1, 1)
Set r = Range("B10:B86")
For Each c In r
    If c.Value = actual Then
       If c.Offset(0, 1).Value = nuevo Then
          lRow = c.Row
          Exit For
       End If
    End If
Next
BienioN = Range(lCol & lRow).Value
End Function


Saludos, desde Baires, JuanC
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