Capturar en una variable el número de fila de una celda que cambia de valor (Macro)

Hola, tengo algo como:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 2 And Target.NumberFormat = "0" Then Call Main
End Sub

Lo que deseo es que en el programa que llamo (main) pueda capturar en una variable el numero de fila de la celda que esta cambiando de valor, como se podría hacer? Una solución temporal que hice fue la siguiente: Poner un mensaje en esa hoja de excel diciendo que cuando se cambie ese valor se presione la tecla "Enter" en lugar de hacer click en otro lugar o darle a la flecha derecha etc, porque de ese modo baja una fila la selección de la celda y puedo capturar el valor de la fila de la celda que cambia asi: fila = ActiveCell.Offset (-1,0).Row pero no quiero quedarme con esa solución, quiero capturarla aunque por ejemplo le den click a otro lugar.

1 respuesta

Respuesta
1

Fila = Target.Row

Gracias por la respuesta pero parece que no me comprendiste, el Target.Row funciona dentro de la Private_Sub en Objetos, pero donde quiero capturar ese numero de fila es en un Modulo de un algoritmo llamado Main y en el modulo no se puede usar Target.Row, o al menos yo no se como usarlo.

¿Y q hace ese "sub" mailn?

Bueno es una larga explicación por aquí y si no ves el programa creo que seria difícil comprenderlo, asi que mejor te mando el programa con una explicación del mismo. Aquí el enlace de descarga que yo mismo subí: http://www.sendspace.com/file/5j6ovr

Muchas gracias, lo había resuelto guardando ese valor de la fila en una celda, pero con lo que hiciste ya no es necesario, era justo lo que buscaba, pero ese método no lo conocía, cada dia se aprende algo nuevo y eso me servirá mucho para los próximos programas que haga. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas