Error en mi listbox de 20 me marca solo 10
Su ayuda no se a que se debe o si hay alguna propiedad que ignoro.
Tengo un formulario con un listbox que me muestra lo que hay en la planilla, y que le puedo dar intervalos de fechas o un numero en particular y me filtrará los datos.

Mi problema se inicia cuando filtro los datos, me muestra solo 10 datos y son 20 en total.

este es el codigo:
Private Sub busca_vta_Click()
On Error Resume Next
Set b = Sheets("VENTAS")
uf = b.Range("A" & Rows.Count).End(xlUp).Row
dato1 = CDate(desde_vta)
dato2 = CDate(hasta_vta)
If dato2 = Empty Or dato1 = Empty Then
MsgBox ("Debe ingresar datos para consulta entre rango de fechas"), vbCritical, "AVISO"
Exit Sub
End If
If dato2 < dato1 Then
MsgBox ("La fecha final no puede ser mayor a la fecha inicial"), vbCritical, "AVISO"
Exit Sub
End If
b.AutoFilterMode = False
Me.detalle_vta = Clear
Me.detalle_vta.RowSource = Clear
For i = 5 To uf
dato0 = CDate(b.Cells(i, 3).Value)
If dato0 >= dato1 And dato0 <= dato2 Then
Me.detalle_vta.AddItem b.Cells(i, 1)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 1) = b.Cells(i, 2)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 2) = b.Cells(i, 3)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 3) = b.Cells(i, 4)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 4) = b.Cells(i, 5)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 5) = b.Cells(i, 6)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 6) = b.Cells(i, 7)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 7) = b.Cells(i, 8)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 8) = b.Cells(i, 9)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 9) = b.Cells(i, 10)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 10) = b.Cells(i, 11)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 11) = b.Cells(i, 12)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 12) = b.Cells(i, 13)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 13) = b.Cells(i, 14)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 14) = b.Cells(i, 15)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 15) = b.Cells(i, 16)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 16) = b.Cells(i, 17)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 17) = b.Cells(i, 18)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 18) = b.Cells(i, 19)
Me.detalle_vta.List(Me.detalle_vta.ListCount - 1, 19) = b.Cells(i, 20)
End If
Next i
Me.detalle_vta.ColumnWidths = "30 pt;5 pt;50 pt;40 pt;40 pt;60 pt;100 pt;50 pt;120 pt;20 pt;20 pt;50 pt;50 pt;40 pt;40 pt;40 pt;50 pt;50 pt;50 pt;50 pt"
End Sub
Private Sub UserForm_Initialize()
Dim fila As Long
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set b = Sheets("VENTAS")
uf = b.Range("A" & Rows.Count).End(xlUp).Row
uc = b.Cells(1, Columns.Count).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, "$") + 1, InStr(2, uc, "$") - 2)
With Me.detalle_vta
.ColumnCount = 20
.ColumnWidths = "30 pt;5 pt;50 pt;40 pt;40 pt;60 pt;100 pt;50 pt;120 pt;20 pt;20 pt;50 pt;50 pt;40 pt;40 pt;40 pt;50 pt;50 pt;50 pt;50 pt"
.RowSource = "VENTAS!A5:" & wc & uf
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
On Error GoTo Fin
If CloseMode <> 1 Then Cancel = True
Fin:
End Subpliss ayuda :(
1 Respuesta
Respuesta de Dante Amor
1