Como aplicar este código 3 ComboBox que se encuentran en el mismo UserForm

He encontrado este código que se aplica para llenar un ComboBox con valores únicos; como se aplicaría a tres combobox que se encuentran en el mismo Userform (Combo1, Combo2 y Combo3). Todos tomarían sus datos de la hoja1, columnas 1, 2 y 3, respectivamente.

CÓDIGO.

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
ComboBox1.Clear
Sheets("DATOS").Select
Range("C2").Select
Do While Not IsEmpty(ActiveCell)
If InStr(datos, ActiveCell) = 0 Then
datos = datos & "," & ActiveCell
End If
ActiveCell.Offset(1, 0).Select
Loop
datos = Right(datos, Len(datos) - 1)
dato_individual = Split(datos, ",")
For i = 0 To UBound(dato_individual)
ComboBox1.AddItem dato_individual(i)
Next
Application.ScreenUpdating = True
End Sub

Saludos.

1 Respuesta

Respuesta
1

¿Hay relación entre los 3 combos?

Si no hay relación este sería el código para los 3 combos.

Private Sub UserForm_Activate()
'Pone valores únicos combobox1
'Por.Dam
Dim col1 As New Collection
Dim col2 As New Collection
Dim col3 As New Collection
On Error Resume Next
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
col1.Add Item:=Cells(i, "A").Value, Key:=CStr(Cells(i, "A").Value)
Next i
For i = 1 To col1.Count
Me.ComboBox1.AddItem col1(i)
Next i
For j = 1 To Cells(Rows.Count, "B").End(xlUp).Row
col2.Add Item:=Cells(j, "B").Value, Key:=CStr(Cells(j, "B").Value)
Next
For j = 1 To col2.Count
Me.ComboBox2.AddItem col2(j)
Next
For k = 1 To Cells(Rows.Count, "C").End(xlUp).Row
col3.Add Item:=Cells(k, "C").Value, Key:=CStr(Cells(k, "C").Value)
Next
For k = 1 To col3.Count
Me.ComboBox3.AddItem col3(k)
Next
End Sub

Saludos. Dam

Si es lo que necesitas.

Y si fueran columnas alternas; por ejemplo: Columna3, Columna4 y Columna 6, sería igual el código?

Gracias

Si, solamente cambia la letra, por ejemplo, las siguientes instrucciones son para llenar el combo con la columna A, si quieres que sea para la columna C, cambia la letra.

On Error Resume Next
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
col1.Add Item:=Cells(i, "A").Value, Key:=CStr(Cells(i, "A").Value)
Next i
For i = 1 To col1.Count
Me.ComboBox1.AddItem col1(i)
Next i

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas