Eliminar datos repetidos en un combobox dependiente
En esta oportunidad tengo un problema para limpiar los datos de un combobox. Les detallo un poco el tema:
- Tengo una macro que tiene combobox dependientes en tres niveles, es decir, lo que escoga en el primero "ListaCampaña" dará solo algunas opciones para el segundo "ListaServicios" y este a su vez dará ciertas opciones al tercero "ListaCondicion".
Las condiciones para la evaluación son que las opciones de ListaCampaña y ListaServicios pueden repetirse ya que para ListaCondición son como máximo 2 opciones, por tanto puede existir para una campaña especifica, dos opciones de servicio con el mismo nombre pero diferente condición.
El primer combobox ListaCampaña ya fue implementado evitando las repeticiones, sin embargo para el segundo ListaServicios, se tiene un código que busca el valor escogido en ListaCampaña, dentro de un rango de datos en la columna A (de la hoja excel) de tal forma que agregue al combobox ListaServicios, todos aquellos datos en la columna B en los cuales en la columna A aparezca el valor escogido en ListaCampaña. El problema es que debido a que existen dos condiciones para un mismo servicio, el combobox ListaServicios me muestra los datos en duplicado.
Por tanto acudo a la comunidad para que me apoyen en la modificación del código a fin que solo reconozca los datos únicos. Aquí el código:
Private Sub ListaCampaña_Change()
'Macro para llenar lista desplegable de servicios según campaña elegida
ListaServicio. Clear
Sheets("BD").Select
Set buscarprimeracampaña = Sheets("BD").Range("A1:A10000").Find(Me.ListaCampaña.Value, LookIn:=xlValues, LookAt:=xlWhole)
primeracampaña = buscarprimeracampaña.Row
ListaServicio.AddItem (Cells(primeracampaña, 2))
If Not buscarprimeracampaña Is Nothing Then
Do
Set buscarprimeracampaña = Sheets("BD").Range("A1:A10000").FindNext(buscarprimeracampaña)
ncampaña = buscarprimeracampaña.Row
ListaServicio.AddItem (Cells(ncampaña, 2))
Loop While buscarprimeracampaña.Row <> primeracampaña And Not buscarprimeracampaña Is Nothing
End If
PD: Adicionalmente el código me repite el primer valor de la lista del combobox ListaServicios tres veces en lugar de dos por lo que si pueden solucionarlo se los agradecería.