Saltar al contenido

Módulo de clase que ya no responde


Recommended Posts

publicado

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 Property

Y 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 FilaFinal

Debo 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 = 1

El 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 FilaFinal

Al 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"

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.