Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Combobox sin duplicados


.

Antes de seguir 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.

  

En llenar listbox dependiendo de otro listbox y combobox, llenar combobox y buscar datos y la entrega anterior Combobox depende de otro combobox y llena listbox están relacionados con el presente ejemplo denominado Combobox con lista validada sin duplicados o combobox que lista datos únicos o no repetidos; existen otras entradas donde se muestran  macros sobre como recorrer las filas ya que es necesario para ir filtrando los datos duplicados, estos son: recorrer filas buscando y comparando datos, recorrer filas y contar celdas con datos, recorrer filas y copiar de la columna A a la B, además hay varios ejemplos que encontrarás aquí.

Este ejemplo es algo realmente importante cuando se trabaja con datos, ya que el ejemplo de macro de VBA presentado permite listar una  base de datos sin duplicados o dicho de otra forma solamente lista datos únicos sin repetir datos a pesar que la base de datos contenga datos duplicados triplicados o que se presenten varias veces en la base de datos, lo cual no interesa ya que la macro filtra y presenta datos únicos.

Específicamente el ejemplo lo que se hace es filtrar datos únicos al momento de ejecutar la macro que inicia el formulario, presentando en un combobox los datos únicos sin tener en cuenta los duplicados, el botón contar duplicados hace salir un msgbox que muestra la cantidad de datos que se han filtrado; si requieres saber más sobre msgbox haz click acá.


A continuación se presenta primero la codificación que se inserta en un módulo, la cual permite hacer que aparezca el userform; posteriormente se encuentra la programación que se coloca en el evento Initialize del userform; como se mencionó anteriormente dicha macro lista solamente datos únicos sin duplicados, desde el link que se encuentra al final del post se puede descargar el ejemplo en forma absolutamente GRATIS.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.


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 un módulo

Sub Botón1_Haga_clic_en()
UserForm2.Show
End Sub

Código que se inserta en un userform

Public conta As Integer
Private Sub CommandButton2_Click()
MsgBox («Se encontraron » & conta & » registros no duplicados, ver el combobox»)
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim sd As New Collection
Dim celda As Range
Dim dato
Dim r As String
Dim uf As Integer
Application.ScreenUpdating = False
On Error Resume Next
conta = 0
ComboBox1.Clear
Sheets(«hoja2»).Select
Range(«A2»).Select
uf = Range(«A» & Rows.Count).End(xlUp).Row
r = «A2:A» & uf
For Each celda In Range(r)
sd.Add celda.Value, CStr(celda.Value)
Next celda
For Each dato In sd
ComboBox1.AddItem dato
conta = conta + 1
Next dato
Application.ScreenUpdating = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

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