Cargar en combobox excel datos sin repetir

Necesito cargar las fechas que tengo en la columna A2 de la hoja 2, pero cm se repiten, quiero que salga solo una vez.
El combobox1 esta en el userform1
No se como hacer para que me salga una sola vez la fecha
Me pueden ayudar

1 respuesta

Respuesta
1
Entiendo que las fechas las tienes en la columna "A" de la página "hoja2" a partir de la celda "A2" hacia abajo. Si es así... prueba este código en el userForm:
Private Sub UserForm_Initialize()
    Dim sh As Worksheet
    Dim nLin As Integer
    Dim fecha As Date
    Dim listaFechas As String
    Me.ComboBox1.Clear ' Borramos el contenido del combo
    Set sh = Sheets("hoja1") ' Asignamos la página a la variable sh (más fácil de escribir)
    listaFechas = "#"
    For i = 2 To sh.Cells.SpecialCells(xlCellTypeLastCell).Row ' Desde la fila 2 hasta la última
        If sh.Cells(i, 1) <> "" And IsDate(sh.Cells(i, 1)) Then
            ' La celda contiene algo y es una fecha...
            If InStr(listaFechas, "#" & sh.Cells(i, 1) & "#") = 0 Then ' No esta incluida anteriormente
                Me.ComboBox1.AddItem sh.Cells(i, 1) ' Añadimos el valor al combo
                If Me.ComboBox1.Text = "" Then Me.ComboBox1.Text = sh.Cells(i, 1) ' Ponemos el primer valor
                listaFechas = listaFechas & sh.Cells(i, 1) & "#" ' ponemos la fecha en la lista para no repetirla
            End If
        End If
    Next i
End Sub
Hola, gracias!
Efectivamente mis datos están en la columna A de la Hoja2 (el caption es Control), pero vieras que pegué el código y se cayó el programa
Porque tengo un Userform antes en el que hay un botón
Y el código es:
Userform2.hide
userform1.show
y no se xq se me cae
Ya lo hice, cambié en initialize por activate y no se me cayó
Muchísimas gracias!
Si ya está bien, por favor cierra la pregunta para que no me aparezca entre las pendientes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas