Listbox. Vba-excel

Hola expertos...

estoy haciendo una especie de filtro, por medio de userform, en el que al escribir por ejemplo enero en un textbox me muestre en un listbox todas las facturas de este mes... Algo asi, y que en el listbox yo pueda seleccionar alguno de estos items (con el fin de modificarlos) y que le de en un commandbutton y me lleve a otro userform y poder hacerlo. Pero cuando hago diferentes pasos me salen errores.

tengo un código que saque de la web pero me salen errores y aun no entiendo que estoy haciendo mal.

el código completo es:

Public maquina
Public referencia
Private Sub CommandButton1_Click()
If Me.ListBox1.ListIndex < 0 Then
MsgBox "No se ha elegido ningún registro", vbExclamation, "AUXIPARTES S.A."
Else
UserForm32.Show
End If
End Sub
Private Sub CommandButton2_Click()
'Eliminar el registro
Pregunta = MsgBox("Está seguro de eliminar el registro?", vbYesNo + vbQuestion, "AUXIPARTES S.A.")
If Pregunta <> vbNo Then
ActiveCell.EntireRow.Delete
' Fila = Me.ListBox1.ListIndex + 2
' Rows(Fila).Delete
' Application.ScreenUpdating = True
End If
End Sub
Private Sub maquinagp_Change()
Application.ScreenUpdating = False
maquina = Me.maquinagp.Text & IIf(Me.maquinagp.Text = "", "", "*")
filtrargp
uf = Sheets("MAQ").Range("A" & Rows.Count).End(xlUp).Row
With Me.ListBox1
.ColumnCount = 2
.RowSource = "MAQ!A1:B" & uf
End With
End Sub
Private Sub referenciagp_Change()
Application.ScreenUpdating = False
referencia = Me.referenciagp.Text & IIf(Me.referenciagp.Text = "", "", "*")
filtrargp
uf = Sheets("MAQ").Range("A" & Rows.Count).End(xlUp).Row
With Me.ListBox1
.ColumnCount = 2
.RowSource = "MAQ!A1:B" & uf
End With
End Sub
Private Sub filtrargp()
Application.ScreenUpdating = False
Sheets("MAQ").Range("A1").CurrentRegion.Delete xlShiftUp
With Sheets("MAQUINARIA")
uf2 = .Range("A" & Rows.Count).End(xlUp).Row
With .Range("A10:B" & uf2)
If maquina <> "" Or referencia <> "" Then
If maquina <> "" Then .AutoFilter Field:=1, Criteria1:=maquina
If referencia <> "" Then .AutoFilter Field:=2, Criteria1:=referencia
.Copy Sheets("MAQ").Range("A1")
Else
Sheets("MAQ").Range("A1").CurrentRegion.Delete xlShiftUp
End If
End With
If .AutoFilterMode Then .Range("A1").AutoFilter
End With
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Activate()
Me.maquinagp.SetFocus
End Sub
Private Sub UserForm_Terminate()
Application.ScreenUpdating = False
Sheets("MAQ").Range("A1").CurrentRegion.Delete xlShiftUp
Application.ScreenUpdating = True
End Sub
'Activar la celda del registro elegido
Private Sub ListBox1_Click()
Range("a11").Activate
Cuenta = Me.ListBox1.ListCount
For i = 0 To Cuenta - 1
If Me.ListBox1.Selected(i) Then
'MsgBox Me.ListBox1.List(i)
Valor = Me.ListBox1.List(i)
Sheets("MAQUINARIA").Range("A11:A1000").Find(What:=Valor, LookAt:=xlWhole,_ After:=ActiveCell).Activate
End If
Next i
'Fila = Me.ListBox1.ListIndex + 2
'For i = 1 To 2
' Cells(Fila, 1).Activate
'Next i
End Sub
'Dar formato al ListBox y traer datos de la tabla
Private Sub UserForm_Initialize()
With ListBox1
.ColumnCount = 2
.ColumnWidths = "200 pt;200 pt"
'.ColumnHeads = True
End With
''ListBox1.RowSource = "Tabla1"
End Sub

en los pasos que realizo y me sale el error es en la misma linea, dentro del listbox

Sheets("MAQUINARIA").Range("A11:A1000").Find(What:=Valor, LookAt:=xlWhole,_ After:=ActiveCell).Activate

espero me puedan colaborar...

Añade tu respuesta

Haz clic para o