Tengo un código en un listbox el cual me busca en una columna comparando con la fecha actual y si coincide me lo muestra en el listbox...
Private Sub UserForm_Initialize()
Call DisenoFormularios.FormDesign
Dim Uf As Long 'PARA DETERMINAR LA ULTIMA FILA DE LA TABLA...
Dim X As Long 'PARA REALIZAR EL BUCLE...
Sheets("DEPOSITOS").Activate
Uf = Worksheets("DEPOSITOS").Range("E" & Cells.Rows.Count).End(xlUp).Row
'MOSTRAMOS EL NOMBRE DE LA HOJA...
'ListadoCaducaDepositos.AddItem ActiveSheet.Name
'RECORREMOS CON UN BUCLE DESDE LA 5 FILA HASTA LA ULTIMA...
For X = 5 To Uf
'COMPARAMOS LA CELDA X DE LA COLUMNA 5 CON LA FECHA ACTUAL...
If Cells(X, 5) = Date Then
'VERIFICAMOS QUE EL FORMATO DE LA CELDA X ES DE FECHA XX/XX/XXXX...
If IsDate(Cells(X, 5)) Then
'Y SI LA CELDA X DE LA COLUMNA 5 Y LA FECHA ACTUAL SON IGUALES...
If Cells(X, 5) = Date Then
'CARGAMOS LAS QUE COINCIDAN EN EL LISTADO...
ListadoCaducaDepositos.AddItem Cells(X, 5) _
& " - CLIENTE: " & Cells(X, 18) & " - TELEFONO: " & Cells(X, 24)
End If
End If
End If
Next X
End Sub
... el problema que me encuentro es que he modificado la parte que carga los resultados en el listbox, para mostrar en el listbox 3 columnas...
Private Sub UserForm_Initialize()
Call DisenoFormularios.FormDesign
Dim Uf As Long 'DEPOSITOS - PARA DETERMINAR LA ULTIMA FILA DE LA TABLA...
Dim X As Long 'DEPOSITOS - PARA REALIZAR EL BUCLE...
Sheets("DEPOSITOS").Activate
Uf = Worksheets("DEPOSITOS").Range("E" & Cells.Rows.Count).End(xlUp).Row
'MOSTRAMOS EL NOMBRE DE LA HOJA...
'ListadoCaducaDepositos.AddItem ActiveSheet.Name
'RECORREMOS CON UN BUCLE DESDE LA 5 FILA HASTA LA ULTIMA...
For X = 5 To Uf
'COMPARAMOS LA CELDA X DE LA COLUMNA 5 CON LA FECHA ACTUAL...
If Cells(X, 5) = Date Then
'VERIFICAMOS QUE EL FORMATO DE LA CELDA X ES DE FECHA XX/XX/XXXX...
If IsDate(Cells(X, 5)) Then
'Y SI LA CELDA X DE LA COLUMNA 5 Y LA FECHA ACTUAL SON IGUALES...
If Cells(X, 5) = Date Then
'CARGAMOS LAS QUE COINCIDAN EN EL LISTADO...
ListadoCaducaDepositos.AddItem
ListadoCaducaDepositos.List(0, 0) = Cells(X, 6)
ListadoCaducaDepositos.List(0, 1) = Cells(X, 7)
If Cells(X, 2) = "1M" Then
ListadoCaducaDepositos.List(0, 2) = "HAN PASADO 30 DIAS (APLICAR HASTA 50% DESCUENTO)"
Else
ListadoCaducaDepositos.List(0, 2) = "HAN PASADO 60 DIAS (APLICAR PRECIO LIBRE)"
End If
End If
End If
End If
Next X
End Sub
... pero solo me muestra la última fila que coincide.
Espero me podais ayudar.
Gracias.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas tardes amig@s.
Tengo un código en un listbox el cual me busca en una columna comparando con la fecha actual y si coincide me lo muestra en el listbox...
Private Sub UserForm_Initialize() Call DisenoFormularios.FormDesign Dim Uf As Long 'PARA DETERMINAR LA ULTIMA FILA DE LA TABLA... Dim X As Long 'PARA REALIZAR EL BUCLE... Sheets("DEPOSITOS").Activate Uf = Worksheets("DEPOSITOS").Range("E" & Cells.Rows.Count).End(xlUp).Row 'MOSTRAMOS EL NOMBRE DE LA HOJA... 'ListadoCaducaDepositos.AddItem ActiveSheet.Name 'RECORREMOS CON UN BUCLE DESDE LA 5 FILA HASTA LA ULTIMA... For X = 5 To Uf 'COMPARAMOS LA CELDA X DE LA COLUMNA 5 CON LA FECHA ACTUAL... If Cells(X, 5) = Date Then 'VERIFICAMOS QUE EL FORMATO DE LA CELDA X ES DE FECHA XX/XX/XXXX... If IsDate(Cells(X, 5)) Then 'Y SI LA CELDA X DE LA COLUMNA 5 Y LA FECHA ACTUAL SON IGUALES... If Cells(X, 5) = Date Then 'CARGAMOS LAS QUE COINCIDAN EN EL LISTADO... ListadoCaducaDepositos.AddItem Cells(X, 5) _ & " - CLIENTE: " & Cells(X, 18) & " - TELEFONO: " & Cells(X, 24) End If End If End If Next X End Sub
... el problema que me encuentro es que he modificado la parte que carga los resultados en el listbox, para mostrar en el listbox 3 columnas...
Private Sub UserForm_Initialize() Call DisenoFormularios.FormDesign Dim Uf As Long 'DEPOSITOS - PARA DETERMINAR LA ULTIMA FILA DE LA TABLA... Dim X As Long 'DEPOSITOS - PARA REALIZAR EL BUCLE... Sheets("DEPOSITOS").Activate Uf = Worksheets("DEPOSITOS").Range("E" & Cells.Rows.Count).End(xlUp).Row 'MOSTRAMOS EL NOMBRE DE LA HOJA... 'ListadoCaducaDepositos.AddItem ActiveSheet.Name 'RECORREMOS CON UN BUCLE DESDE LA 5 FILA HASTA LA ULTIMA... For X = 5 To Uf 'COMPARAMOS LA CELDA X DE LA COLUMNA 5 CON LA FECHA ACTUAL... If Cells(X, 5) = Date Then 'VERIFICAMOS QUE EL FORMATO DE LA CELDA X ES DE FECHA XX/XX/XXXX... If IsDate(Cells(X, 5)) Then 'Y SI LA CELDA X DE LA COLUMNA 5 Y LA FECHA ACTUAL SON IGUALES... If Cells(X, 5) = Date Then 'CARGAMOS LAS QUE COINCIDAN EN EL LISTADO... ListadoCaducaDepositos.AddItem ListadoCaducaDepositos.List(0, 0) = Cells(X, 6) ListadoCaducaDepositos.List(0, 1) = Cells(X, 7) If Cells(X, 2) = "1M" Then ListadoCaducaDepositos.List(0, 2) = "HAN PASADO 30 DIAS (APLICAR HASTA 50% DESCUENTO)" Else ListadoCaducaDepositos.List(0, 2) = "HAN PASADO 60 DIAS (APLICAR PRECIO LIBRE)" End If End If End If End If Next X End Sub
... pero solo me muestra la última fila que coincide.
Espero me podais ayudar.
Gracias.