Filtrar desde un Textbox

Hola a todos los expertos:
Mi pregunta es la siguiente, tengo una hoja de excel que he determinado como mi base de datos. Tengo un formulario en VBA en el cual tengo un Textbox y un CommandButton, No se como puedo hacer para que al ejecutar el CommandButton me haga una vista previa donde me filtre por la columna Apellidos de las personas que comiencen por la(s) letra(s) escrita(s) en el Textbox.
Por ejemplo si en el Textbox escribo MAR, que me filtre MARTINEZ, MARQUEZ, etc.
Agradezco inmensamente a quien me pueda ayudar.

1 respuesta

Respuesta
1
Estoy suponiendo que tienes tu campo Apellido en la columna B, que tu cuadro de texto se llama txtCriterio y tu botón de comando se llama cmdFiltrar, este código hace lo que quieres, solo adáptalo a tus necesidades...
Option Explicit
Private Sub cmdFiltrar_Click()
Dim strCriterio As String
'Obtenenemos lo que escribio el usuario
strCriterio = Trim(txtCriterio.Text)
'Garantizamos que no este vacio
If Len(strCriterio) > 0 Then
'Contruimos el criterio de forma que comience con
strCriterio = "=" & strCriterio & "*"
'Garantizamos que haya datos
If Range("A1").CurrentRegion.Cells.Count > 1 Then
'Filtramos el campo 2, si tu apellido esta en otra columna
'solo pon la columna correcta en Field
Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:=strCriterio
'Descargamos el formulario, por supuesto no es obligatorio
Unload Me
End If
Else
'Si no escribio nada lo notificamos y regresamos al cuadro
MsgBox "Debe usar un criterio"
txtCriterio.SetFocus
End If
End Sub
Mauricio Baeza
[email protected]
Todo lo que no es dado es perdido
*==========================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas