Curso Macros en Excel – Cap. 84 – Agenda telefónica desde cero PARTE 7
<<CURSO COMPLETO MACROS EN YOUTUBE>>
En este capítulo daremos seguimiento a nuestro Proyecto de Agenda telefónica en Excel desde cero usando macros y VBA en Excel. En esta séptima entrega vamos a programar el botón BUSCAR para que los elementos que coincidan con la búsqueda, se añadan al control ActiveX ListBox.
Ver video Capítulo 84 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Avance del Proyecto
Como lo has notado, este es el séptimo video del Proyecto de nuestra agenda telefónica, pero el número 84 de nuestro curso de macros. A continuación enlisto lo que ya hemos hecho y lo que haremos en este capítulo.
-
Programar el botón BUSCAR. PARTE 7.
Añadir columnas al ListBox (cuadro de lista) en Excel VBA
Ya decidimos que usaremos 6 columnas en el ListBox para mostrar los elementos que coincidan con el texto buscado. Mediante código deberemos indicarle al ListBox que deseamos 6 columnas, además de indicarle el tamaño o Width a cada una de ellas.
Ingresamos el siguente código VBA en el evento Initialize del UserForm2 (formulario).
Private Sub UserForm_Initialize() Me.ListBox1.ColumnCount = 6 Me.ListBox1.ColumnWidths = "102;84;84;96;96;120" End Sub
Búsqueda de elementos por texto
El TextBox1 ahora se llamará txtBuscar y nos servirá para ingresar un texto el cual se validará contra cada una de las filas del rango de la hoja Base, y los elementos coincidentes se añaden a modo de item en el ListBox.
Filtrar por columna Nombre
En este capítulo veremos cómo filtrar por la columna Nombre, que es la columna 2 de la hoja Base. En el código haremos uso de la variable Columna para indicarle que esa será la columna por la que compararemos el valor del txtBuscar.
Figura 1. Formulario para BUSCAR en proyecto Agenda con Excel y VBA
En el siguiente video veremos cómo buscar con comodines sin importar MAYÚSCULAS o minúsculas.
Código VBA del Formulario BUSCAR (Curso de VBA y macros en Excel)
'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo Private Sub CommandButton1_Click() Dim HojaBase As Worksheet Dim Rango As Range Dim Columna As Integer Dim i As Integer Dim Filas As Integer On Error GoTo ManejadorErrores Set HojaBase = ThisWorkbook.Sheets("Base") Set Rango = HojaBase.Range("A1").CurrentRegion If Me.txtBuscar.Value = "" Then Exit Sub Me.ListBox1.Clear Columna = 2 Filas = Rango.Rows.Count For i = 2 To Filas If HojaBase.Cells(i, Columna).Value = Me.txtBuscar.Value Then Me.ListBox1.AddItem HojaBase.Cells(i, 2).Value Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = HojaBase.Cells(i, 3).Value Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = HojaBase.Cells(i, 4).Value Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = HojaBase.Cells(i, 8).Value Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = HojaBase.Cells(i, 9).Value Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = HojaBase.Cells(i, 6).Value Else End If Next i Exit Sub ManejadorErrores: MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, "EXCELeINFO" End Sub
Descarga el archivo de ejemplo
084 – Proyecto Agenda 07 – Programando botón BUSCAR – EXCELeINFO.zip
<<CURSO COMPLETO DE MACROS EN YOUTUBE>>
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.