.
Previo a continuar con el presente ejemplo, recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
El ejemplo de macro que se explica en este post, a mi entender es bastante útil, ya que permite buscar en una base de datos a medida que se escribe en un Textbox; en este caso, es una hoja de Excel, que irá mostrando todas la coincidencias que haya con la letras o letras ingresadas en un Textbox, en otras palabras tendrá en cuenta la cadena de texto ingresada y la buscará en la base de datos en tiempo real, es decir a medida que se vaya escribiendo.
La macro funciona con un filtro avanzado, cuyos criterios son otorgados por el usuario al ingresar los datos; este filtro se realiza en el lugar, mostrando las coincidencias con las letras o palabras escritas en textbox, al descargar el ejemplo podrás observar dos textbox incrustados en Excel, donde se deberá escribir lo que se requiera buscar.
El primer textbox busca en la columna C el nombre del producto y el segundo textbox busca en la columna D por marca; una particularidad es que busca la cadena de texto ingresada en el textbox en todo el registro, es decir si se ingresa sol, mostrará palabras que tengan la cadena de texto sol al inicio, medio o final ya sea en una palabra o en todas las palabras que componen el registro de dicha celda.
Automáticamente determina el rango donde debe buscar ya que establece cual es la última fila con datos y arma el rango donde se debe buscar.
Desde el link del final se puede descargar el archivo para poder adaptar y observar su programación, no tiene restricción alguna; en caso que te haya sido útil no olvides colaborar y compartido en las redes sociales.
El vídeo de YouTube muestra en forma detallada la programación y funcionamiento del ejemplo presentado en el post, no olvides suscribir al canal para recibir las actualizaciones, como así tampoco compartir con tus amigos en las redes sociales..
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Código que se inserta en una hoja Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets(«Hoja1»).Range(«A2»).Value = «*» & TextBox1.Text & IIf(TextBox1.Text = «», «», «*»)
Call Searching
‘Application.DisplayAlerts = True
‘Application.ScreenUpdating = True
End Sub
Private Sub Searching()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If Sheets(«Hoja1»).FilterMode = True Then Sheets(«Hoja1»).ShowAllData
uf = Sheets(«Hoja1»).Range(«A» & Cells.Rows.Count).End(xlUp).Row
Sheets(«Hoja1»).Range(«C4:C» & uf).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range(«A1:A2»), Unique:=False
‘Application.DisplayAlerts = True
‘Application.ScreenUpdating = True
End Sub
Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets(«Hoja1»).Range(«E2»).Value = «*» & TextBox2.Text & IIf(TextBox2.Text = «», «», «*»)
Call Searching1
‘Application.DisplayAlerts = True
‘Application.ScreenUpdating = True
End Sub
Private Sub Searching1()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If Sheets(«Hoja1»).FilterMode = True Then Sheets(«Hoja1»).ShowAllData
uf = Sheets(«Hoja1»).Range(«A» & Cells.Rows.Count).End(xlUp).Row
Sheets(«Hoja1»).Range(«D4:D» & uf).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range(«E1:E2»), Unique:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends