Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
A better way to browse. Learn more.
A full-screen app on your home screen with push notifications, badges and more.
Este tema está ahora archivado y está cerrado a más respuestas.
Hola!!
Creé un módulo de clase para obtener el último dato en una fila o columna específica, hasta hace unos días funcionaba a la perfección, la exporté a mi disco duro y en cada nuevo proyecto la incluía dentro de los módulos de clase. Desde el módulo principal defino la respectiva variable que hace uso del módulo de clase con DIM y SET sin tener problemas, el módulo de clase original lo desarrolle desde abril de este año, y como comenté no me había dado ningún problema.
El código del módulo de clase se llama clsUltimoDato, y el código es el siguiente:
Private Fila As Integer Private Columna As Integer --------------------------------------------------------------------- Public Property Let clsFila(FilaBusca As Integer) Fila = ActiveSheet.Cells(Rows.Count, FilaBusca).End(xlUp).Row End Property --------------------------------------------------------------------- Public Property Get clsFila() As Integer clsFila = Fila End Property --------------------------------------------------------------------- Public Property Let clsColumna(ColumnaBusca As Integer) Columna = ActiveSheet.Cells(ColumnaBusca, Columns.Count).End(xlToLeft).Column End Property --------------------------------------------------------------------- Public Property Get clsColumna() As Integer clsColumna = Columna End PropertyY para llamarlo desde algún módulo del proyecto hago las siguientes declaraciones:
Dim mUltimoDato As New clsUltimoDato Dim FilaFinal As Integer Set mUltimoDato = New clsUltimoDato FilaFinal = mUltimoDato.clsFila = 1 MsgBox FilaFinalDebo aclarar que el dato "1" se refiere a la fila de la cual quiero obtener el último dato, 1=A, 2=B... etc.
Hace unos días empecé a desarrollar un nuevo proyecto, así que importé el módulo de clase, e hice las declaraciones respectivas, pero el módulo no devuelve el dato, en el caso de mi proyecto debería de devolver 5 y en vez de eso me regresa valor 0, hice una prueba mandando una ventana MsgBox con el valor directo del módulo de clase, de la siguiente manera:
MsgBox mUltimoDato.clsFila = 1El valor que devuelve la ventana es "Falso"
Hice otra prueba y agregué directamente la línea de cálculo al módulo, quedando de la siguiente manera:
Dim FilaFinal As Integer FilaFinal = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row MsgBox FilaFinalAl correr el módulo me devuelve el valor esperado, 5; no entiendo qué puede estar pasando, porqué ya no funciona mi módulo. Otra cosa extraña es que abrí un proyecto antiguo que corría a la perfección con el módulo de clase ahora ya no corre y monitoreando el módulo de clase también devuelve el valor "Falso"