Rango de extracción no existe

buenas tardes expertos estoy usando excel 2007 - 2010
tengo un problema con un filtro avanzado mediante VBA con textbox, el filtro que intento hacer es que uno inserta el criterio a buscar y que este vaya buscando automáticamente, es decir si se esta buscando la palabra casanova si uno va poniendo las letras cas entonces van apareciendo las palabras que contengan esas letras y el filtro se realice en la misma base osea no se copie en ningún lugar
el problema que tengo es que me sale el mensaje de depuración diciéndome que no existe el rango de extracción
este es el código que estoy usando

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
[B5].Value = "*" & TextBox1.Text & IIf(TextBox1.Text = "", "", "*")
If [B5].Value = "*" Then [B5].Value = "@"
Call Filtrar
End Sub
Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
[D5].Value = "*" & TextBox2.Text & IIf(TextBox2.Text = "", "", "*")
If [D5].Value = "*" Then [D5].Value = "@"
Call Filtrar
End Sub
Private Sub TextBox3_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
[F5].Value = "*" & TextBox3.Text & IIf(TextBox3.Text = "", "", "*")
If [F5].Value = "*" Then [F5].Value = "@"
Call Filtrar
End Sub
Private Sub TextBox4_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
[H5].Value = "*" & TextBox4.Text & IIf(TextBox4.Text = "", "", "*")
If [H5].Value = "*" Then [H5].Value = "@"
Call Filtrar
End Sub
Private Sub TextBox5_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
[I5].Value = "*" & TextBox5.Text & IIf(TextBox5.Text = "", "", "*")
If [I5].Value = "*" Then [I5].Value = "@"
Call Filtrar
End Sub
Private Sub Filtrar()
ActiveSheet.Unprotect "entrar"
Application.ScreenUpdating = False
uf = Range("B" & Cells.Rows.Count).End(xlUp).Row
Range("B6:V" & uf).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("B4:I5"), Unique:=False
Application.ScreenUpdating = True
ActiveSheet.Protect "entrar"
End Sub

este es el archivo en cuestión


alguna sugerencia para poder arreglar el problema?
saludos seritux

1 Respuesta

Respuesta
1

Colocá una línea extra para observar qué valores está tomando la variable uf,

uf = Range("B" & Cells.Rows.Count).End(xlUp).Row
MsgBox uf

Con eso podrás determinar dónde está el problema.

hola doña Elsa:

Muchas gracias por contestarme, hice tal como me lo sugeriste puse el código, en la columna de códigos al poner 1 me sale el mensaje como 28 y me sale que el rango de extracción no esta definido y muestra en amarillo en esta linea

Range("B6:V" & uf).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("B4:I5"), Unique:=False

ese numero no esta en ningún lado de la base de datos...

http://fotos.subefotos.com/beda805c96bc845dd50f3b6762dc5a22o.jpg

http://fotos.subefotos.com/beda805c96bc845dd50f3b6762dc5a22o.jpg"/>

no se porque esta fallando la verdad ando desorientado...

buen dia atento carlos

Habría que revisar si al momento de llamar a la macro de filtro estás en la hoja correcta.

Como no puedo abrir la página con la foto será mejor que me envíes la hoja al correo que aparece en mi sitio que dejo al pie.

buenas doña Elsa ya envíe adjunto la hoja al correo

saludos Carlos

Ya te devolví tu libro con comentarios. Sdos!

muchas gracias por tu ayuda al final lo resolví eliminando uf que a pesar de que quería fuera dinámico no pude lograrlo pues siempre pide dos filas y no pude solventar ese error pero parte del código que me diste me sirvió para los numeros

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas