[Hola
La información no es precisa por que las hojas tienen diferentes cantidades de encabezado.
Entonces lo harías por separado
Así
Private Sub CommandButton1_Click()
'Por.Dante Amor
'Act. Adriel
'Filtrar por fecha
Dim u As Double, i As Double
Dim h1 As Object, h2 As Object, h3, h4 As Object
'
'Primer option PRODUCTOS
If OptionButton1 Then
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set h1 = Sheets("Productos")
Set h2 = Sheets("Filtro")
h2.Cells.Clear
'
If DTPicker1 > DTPicker2 Then
MsgBox "La fecha inicial no puede ser superior a la final", vbExclamation, "REVISAR FECHAS"
Application.ScreenUpdating = True
Exit Sub
End If
'
If h1.AutoFilterMode Then h1.AutoFilterMode = False
u = h1.Range("E" & Rows.Count).End(xlUp).Row
h1.Range("A1:g" & u).AutoFilter
h1.Range("A1:g" & u).AutoFilter Field:=5, Criteria1:=">=" & Format(TextBox1, "mm/dd/yyyy"), _
Operator:=xlAnd, Criteria2:="<=" & Format(TextBox2, "mm/dd/yyyy")
If h1.Range("E" & Rows.Count).End(xlUp).Row = 1 Then
MsgBox "No existen registros", vbExclamation, "REVISAR FECHAS"
If h1.AutoFilterMode Then h1.AutoFilterMode = False
Application.ScreenUpdating = True
Exit Sub
End If
'
h1.Range("A1:g" & u).Copy h2.[A1]
ListBox1.RowSource = h2.Name & "!A2:g" & h2.Range("g" & Rows.Count).End(xlUp).Row
If h1.AutoFilterMode Then h1.AutoFilterMode = False
''' Cuenta y muestra cantidad de items en el ListBox
'txtExistencia.Text = ListBox1.ListCount
'''
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End If
' option ENTRADA
If OptionButton2 Then
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set h3 = Sheets("Entrada")
Set h2 = Sheets("Filtro")
h2.Cells.Clear
'
If DTPicker1 > DTPicker2 Then
MsgBox "La fecha inicial no puede ser superior a la final", vbExclamation, "REVISAR FECHAS"
Application.ScreenUpdating = True
Exit Sub
End If
'
If h3.AutoFilterMode Then h3.AutoFilterMode = False
u = h3.Range("E" & Rows.Count).End(xlUp).Row
h3.Range("A1:E" & u).AutoFilter
h3.Range("A1:E" & u).AutoFilter Field:=5, Criteria1:=">=" & Format(TextBox1, "mm/dd/yyyy"), _
Operator:=xlAnd, Criteria2:="<=" & Format(TextBox2, "mm/dd/yyyy")
If h3.Range("E" & Rows.Count).End(xlUp).Row = 1 Then
MsgBox "No existen registros", vbExclamation, "REVISAR FECHAS"
If h3.AutoFilterMode Then h3.AutoFilterMode = False
Application.ScreenUpdating = True
Exit Sub
End If
'
h3.Range("A1:E" & u).Copy h2.[A1]
ListBox1.RowSource = h2.Name & "!A2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row
If h3.AutoFilterMode Then h3.AutoFilterMode = False
''' Cuenta y muestra cantidad de items en el ListBox
'txtExistencia.Text = ListBox1.ListCount
'''
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End If
' option SALIDA
If OptionButton3 Then
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set h4 = Sheets("Salida")
Set h2 = Sheets("Filtro")
h2.Cells.Clear
'
If DTPicker1 > DTPicker2 Then
MsgBox "La fecha inicial no puede ser superior a la final", vbExclamation, "REVISAR FECHAS"
Application.ScreenUpdating = True
Exit Sub
End If
'
If h4.AutoFilterMode Then h4.AutoFilterMode = False
u = h4.Range("E" & Rows.Count).End(xlUp).Row
h4.Range("A1:E" & u).AutoFilter
h4.Range("A1:E" & u).AutoFilter Field:=5, Criteria1:=">=" & Format(TextBox1, "mm/dd/yyyy"), _
Operator:=xlAnd, Criteria2:="<=" & Format(TextBox2, "mm/dd/yyyy")
If h4.Range("E" & Rows.Count).End(xlUp).Row = 1 Then
MsgBox "No existen registros", vbExclamation, "REVISAR FECHAS"
If h4.AutoFilterMode Then h4.AutoFilterMode = False
Application.ScreenUpdating = True
Exit Sub
End If
'
h4.Range("A1:E" & u).Copy h2.[A1]
ListBox1.RowSource = h2.Name & "!A2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row
If h4.AutoFilterMode Then h4.AutoFilterMode = False
''' Cuenta y muestra cantidad de items en el ListBox
'txtExistencia.Text = ListBox1.ListCount
'''
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End If
End Sub