Buscar # fila desde selección de una fecha en un ListBox

2 envíos / 0 nuevos
Último envío
estebanchao
Imagen de estebanchao
Offline
última acción: Hace 3 años 1 mes
alta: 23/01/2021 - 03:11
Puntos: 25
Buscar # fila desde selección de una fecha en un ListBox

Tengo un listbox que me trae información de 4 columnas, una de las columnas es para fechas. A la hora de seleccionar uno de los registros dentro de esa listbox, la idea es poder buscar en una columna específica, la fecha del registro que se seleccionó y que devuelva el número de fila donde se encuentra esa fecha. Por ahora lo que tengo esto pero me da un error en la línea que dice "myrow = busco.Row" y el error que me sale es "Variable de objeto o bloque With no establecido". El código es:

 

Dim fecharegistro As Date

Dim myrow As Integer

Dim ultfila As Long

Dim busco As Object

 

ultfila = Sheets("Datos").Cells(Rows.Count, 1).End(xlUp).Row

 

Call ValidarVacios

 

If controlesVacios1 > 0 Then

    MsgBox "Hay " & controlesVacios1 & " casillas con información sin llenar. No se puede continuar.", vbExclamation

Else

    If Lista.ListIndex = -1 Then

    MsgBox ("Seleccione un registro")

    Else

    fecharegistro = Lista.List(Lista.ListIndex, 3)

    Set busco = Sheets("Datos").Range("A2:A" & ultfila).Find(fecharegistro)

    myrow = busco.Row

    MsgBox (myrow)

    End If

End If

 

 

Etiquetas: 

FernandoML
Imagen de FernandoML
Offline
última acción: Hace 1 año 9 meses
alta: 01/02/2018 - 19:53
Puntos: 265
Buscar # fila desde selección de una fecha en un ListBox

Hola @estebanchao:

Es lógico que te salga este error. Te explico el porque

Cuando haces esto: Set busco = Sheets("Datos").Range("A2:A" & ultfila).Find(fecharegistro)

Se almacena el valor como tipo String, es decir tipo texto. Lo que pretendemos buscar es una fecha. Entonces para solucionar tu problema solamente debes cambiar esto dentro de tu linea

Set busco = Sheets("Datos").Range("A2:A" & ultfila).Find(CDate(fecharegistro))


 


Espero te sirva
Un Saludo
Fernando