GRACIAS
EL código del formulario de la imagen es:
--------------------------------------------------------------------------
Option Explicit
'
Dim a As Variant
'
Sub Cargar_Lista()
Dim b As Variant, c As Variant
Dim i As Long, j As Long, k As Long
Dim cmb1 As String, txt1 As String, txt2 As String
'
ReDim b(1 To UBound(a, 1), 1 To 7)
Lista.Clear
'2 programa, 3 tec, 4 mun, 5 nomb, 7 fec, 10 % 12 proxifech
For i = 1 To UBound(a, 1)
If ComboBox1.Value = "" Then cmb1 = a(i, 2) Else cmb1 = ComboBox1.Value
If TextBox1.Value = "" Then txt1 = a(i, 3) Else txt1 = TextBox1.Value
If TextBox2.Value = "" Then txt2 = a(i, 4) Else txt2 = TextBox2.Value
If LCase(a(i, 2)) = LCase(cmb1) And _
LCase(a(i, 3)) Like LCase(txt1) & "*" And _
LCase(a(i, 4)) Like LCase(txt2) & "*" Then
j = j + 1
b(j, 1) = a(i, 3)
b(j, 2) = a(i, 4)
b(j, 3) = a(i, 5)
b(j, 4) = a(i, 7)
b(j, 5) = a(i, 8)
b(j, 6) = a(i, 12)
b(j, 7) = a(i, 14)
End If
Next
If j > 0 Then
ReDim c(1 To j, 1 To 7)
For i = 1 To j
For k = 1 To 7
c(i, k) = b(i, k)
Next
Next
Lista.List = c
End If
End Sub
'
Private Sub ComboBox1_Change()
Call Cargar_Lista
End Sub
Private Sub TextBox1_Change()
Call Cargar_Lista
End Sub
Private Sub TextBox2_Change()
Call Cargar_Lista
End Sub
Private Sub UserForm_Activate()
Dim lr As Long
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
lr = Cells.Find("*", , xlValues, xlPart, xlByRows, xlPrevious).Row
a = Range("A4:P" & lr).Value
Call Cargar_Lista
busqueda = Format(Now, "[$-80A]dddd, DD"" de ""mmmm"" de ""yyyy hh:mm:ss am/pm")
End Sub