Quiero guardar en una variable, para uso posterior, el numero de fila donde una busqueda me ha encontrado el dato buscado. Quiero guardar en una variable el numero de la fila donde estaba ese dato.
¿Que instruccion y con que sisntaxis se puede hacer eso?
Gracias.
los rangos tienen la propiedad Row que te da el número de fila
(si el rango tiene más de una fila, con Row obtienes la primera)
para asignarlo a una variable, por ejemplo si quieres asignar el valor de la celda activa
mivariableparalafila=ActiveCell.Row
------
Ya sé Excel, pero necesito más.
Como siempre, muchas gracias amigo Paco por la ayuda.
Era sencillo... pero habia que saberlo. Como te dijo alguno: sabiendolo... cualquiera.
Muchas gracias. Vamos quitando ignorancia...
como hago para despues de obtener el numero de la fila ir a ella
sheets1 sheet2
1 2
2
3
mivariableparalafila=ActiveCell.Row
como hago para ir sheets1
go sheet1.mivariableparalafila
Amigo, finalmente pudiste solucionar el problema??
El programa que necesito es buscar un valor entre los datos que hay en un rango de la fila A1 a la FB:1 y saber en que posición encontro el valor para luego escribir en él.
pacomegia si el proceso esta dentro de un For i, como asigno el valor de la fila a una variable cada vez que hace el next? el proceso encuentra algo y toma el valor de la fila, lo tiene q guardar en una variable. la proxima, cuando i vale 1 mas, encuentra otra cosa y toma otra fila, ahi debe generar otra variable con ese otro valor. el proceso sigue y no siempre tiene la misma cantidad de repeticiones, por lo tanto no puedo (porque no lo se) cuantas variables declarar. los nombres de las variables deberian cambiar en relación a "i". asi tendre tantas variables con filas como veces q encontró algo. Al final puedo mostrar todos esos valores de filas guardados. al ejecutar de nuevo la macro, se debe limpiar todas las variables.
gracias
Mariano
Prueba a utilizar un array.
Lo declaras como variant:
dim a() as variant
Luego lo redimensionas:
redim a(1)
Posteriormente, cuando hagas cada iteración, haz lo siguiente:
if a(ubound(a)) <> "" then
redim preserve a(ubound(a) + 1)
end if
a(ubound(a)) = valorcalculado
De esta manera, estás comprobando el último valor del array, y si tiene algo guardado, añade un hueco más.
Un saludo
ok gracias. y luego para mostrar los datos que fui guardando en las sucesivas variables a(xxx)?
Exacto.
a(1) te devuelve la primera, a(2) te devuelve la segunda, y así.
Hay una particularidad. Si al principio del módulo has puesto "Option base 1", las matrices empezarán en 1, como a(1). Si no lo pones, la opción por defecto es base 0, y las matrices empezarán en 0, como a(0). En la mayoría de los casos no te afectará, pero en algunos casos concretos puede ser útil saberlo y controlarlo según necesidad.
Un saludo