Visual Basic para Aplicaciones - guardar variable al terminar macro

Life is soft - evento anual de software empresarial
 
Vista:

guardar variable al terminar macro

Publicado por cristian (3 intervenciones) el 12/01/2012 20:47:09
Hola,

estoy haciendo una macro que hace lo siguiente:

1) abrir otro archivo excel (archivo 'datos').
2) sacar numeros del archivos datos y sumarlos donde corresponda al archivo con macros que estoy utilizando. Cada vez que se ejecuta la macro, debe sacar numeros nuevos que fueron incorporados al archivo datos, los viejos no se toman en cuenta .

Bueno, el problema es el siguiente: cada numero nuevo se guarda en la siguiente fila del archivo datos. Entonces necesito guardar la última fila que utilicé para tomar en cuenta solamente los numeros nuevos cada vez que ejecute la macro. Entonces, ¿cómo guardo el índice de la última fila teniendo en cuenta que cada vez que cierre el excel se me van a borrar las variables creadas en la macro? Si lo hago guardando el contenido en una celda, puede ser demasiado arriesgado porque si la llegan a borrar entonces la macro quedará inútil.

saludos y gracias
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

guardar variable al terminar macro

Publicado por JuanC (565 intervenciones) el 12/01/2012 22:26:10
si no querés guardarlo en el mismo archivo, podés hacerlo en un archivo de texto
o incluso en el registro de windows

podés usar las API WritePrivateProfileStringA y GetPrivateProfileStringA
buscá en google y vas a encontrar ejemplos seguramente...

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

guardar variable al terminar macro

Publicado por cristian (3 intervenciones) el 13/01/2012 14:38:20
gracias! lo del registro se ve bueno, aunque en realidad descubrí q ya no necesito hacer lo q pregunté, pero es útil saber que existe ese método. Con el archivo de texto el problema que tenía era si se cambiaba la carpeta del archivo excel o el de texto, quería que siguiera funcionando.
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 Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

guardar variable al terminar macro

Publicado por Antoni Masana (498 intervenciones) el 16/01/2012 08:51:53
Otra opcion es contar las celdas a tratar al inicio de la macro.

Es decir cuando ejecutas la macro la primera vez hay una fila, cuentas 1 y grabas 2.
La seguna vez que ejecutas la macro cuentas las filas y hay 3 y grabas N
La tercera vez que ejecutas la macro cuentas las filas y hay 3+N y grabas ...

Y asi no tienes que guardar nada en ningun sitio y no hay peligro de perderlo.
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

guardar variable al terminar macro

Publicado por cristian (3 intervenciones) el 17/01/2012 18:01:35
Antoni,

no entiendo tu solución, igual tendría que saber cuántas filas he contado... Al inicio de la macro habrá la misma cantidad de filas que al final, ya que se abre otro archivo excel y éste no se modifica en el transcurso de la macro, si lo cambian yo habré abierto la versión sin cambios, por lo que no importa cuándo cuente las filas.

Sí puede cambiar entre una ejecución y otra de la macro, en cuyo caso puede que haya una cantidad de filas distinta en el archivo a leer, pero si cerré el excel y no guardé el índice (o filas contadas) en alguna parte, no voy a saber en qué fila me quedé, sin importar cuántas veces haya ejecutado la macro.

Gracias de todas formas por tu disposición
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