Podrías crear otra pregunta, esta pregunta la tomo para poner las 4 listas en el listbox cuando presionas el optionbutton; y en la pregunta metemos lo del filtro por fecha, recuerda que es una pregunta por cada petición.
Private Sub OptionButton1_Click()
'Por.Dante Amor
Dim fec1 As Date, fec2 As Date
Set hm = Sheets("datosm")
'
hm.Cells.Clear
Sheets("datos").Rows(1).Copy hm.Rows(1)
'
hs = Array("datos", "datos2", "datos3", "datos4")
For h = LBound(hs) To UBound(hs)
hoja = hs(h)
For i = 2 To Sheets(hoja).Range("A" & Rows.Count).End(xlUp).Row
If Sheets(hoja).Cells(i, "A") <> "" Then
u = hm.Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(hoja).Rows(i).Copy hm.Rows(u)
End If
Next
Next
'
With hm.Cells
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
With hm.UsedRange
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
'
u = hm.Range("A" & Rows.Count).End(xlUp).Row
With hm.Sort
.SortFields.Clear
.SortFields.Add Key:=hm.Range("A2:A" & u), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange hm.Range("A1:X" & u)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'mostramos el resultado del filtro avanzado en el textbox
ListBox1.RowSource = Empty
ListBox1.RowSource = hm.Name & "!A2:X" & u
End Sub
Saludos.Dante Amor