Parámetro de filtro en formulario

Hola de nuevo. Mi otra consulta es la siguiente. Quiero crear un formulario en vba en el que pueda escribir el nombre y el apellido de alguien y que me muestro los registros que hay dentro de esta persona en toda la hoja de excel. Gracias.

1 respuesta

Respuesta
1
Estoy suponiendo que ya has creado formulario de usuario (UserForm), que manejas controles, su eventos y su propiedades, aunque sea de forma básica, el siguiente código considera que tienes un cuadro de texto llamado txtCriterio y un botón de comando cmdFiltrar, que tus datos están en la hoja activa de donde llames a este formulario, que estos empiezan en la celda A1 y que tienes Nombre y Apellidos en las columnas A y B respectivamente, el código te filtra por Apellido con lo que pongas en el cuadro de texto txtCriterio, tu tarea es modificar el código para que te permita filtrar por dos campos, como quieres, para ello solo consulta en la ayuda el método AutoFilter, que con lo que te muestro y con la ayuda, es fácil modificarlo, saludos...
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