Este es el código para filtrar por la letra
Private Sub busca_search()
'Por.Dante Amor
'filtra los datos
ListBox1 = ""
Set t = Sheets("temporal")
t.Cells.Clear
With h1
m = "X" 'columna de consecutivo
u = .Range("A" & Rows.Count).End(xlUp).Row
.Range(m & "5") = 5
.Range(m & "6") = 6
.Range(m & "7") = 7
If u > 7 Then h1.Range(m & "5:" & m & "7").AutoFill _
Destination:=h1.Range(m & "5:" & m & u), Type:=xlFillDefault
With .Range("A4:" & m & u)
If campo1 <> "" Then .AutoFilter Field:=1, Criteria1:=campo1
If campo2 <> "" Then .AutoFilter Field:=4, Criteria1:=campo2
If campo3 <> "" Then .AutoFilter Field:=6, Criteria1:=campo3
If campo4 <> "" Then
Select Case campo4
Case "Alquiler": letra = "A"
Case "Reparación": letra = "R"
Case "Confección": letra = "C"
Case "Accesorios": letra = "V"
End Select
.AutoFilter Field:=1, Criteria1:=letra & "*"
End If
.AutoFilter Field:=2, Criteria1:=">=" & Format(DTPicker1.Value, "mm/dd/yyyy"), _
Operator:=xlAnd, Criteria2:="<=" & Format(DTPicker2.Value, "mm/dd/yyyy")
.SpecialCells(xlCellTypeVisible).Copy t.Range("A1")
Me.ListBox1 = ""
End With
.Range("A4").AutoFilter
cols = Array("A", 0, 0, "D", "E", "F", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "R", 0, 0, 0, 0, 0, 0)
For i = LBound(cols) To UBound(cols)
If cols(i) <> "0" Then n = Int(h1.Range(cols(i) & 1).Width + 5) Else n = 0
ancho = ancho & n & ";"
Next
End With
u = t.Range("C" & Rows.Count).End(xlUp).Row
If u > 1 Then
With Me.ListBox1
.ColumnCount = Columns(m).Column
.ColumnHeads = True
.ColumnWidths = ancho
.RowSource = t.Name & "!A2:" & m & u
End With
End If
End Sub