Unir los resultados de 3 combobox de un userform

Tengo en un userform 3 combobox para ingresar día, mes y año. Por restricciones de la compañía en la que laboro, no es posible usar el calendario. ¿Habrá alguna función para concatenar o unir esos datos de los 3 combobox y que me quede en el siguiente formato: dd-mmm-aaaa?

Yo lo sé hacer con la recursiva, que es almacenar los valores de cada combobox en 3 celdas de Excel; luego grabar una macro con la función "concatenar"; y por último convertirlo a número.

1 respuesta

Respuesta
1

H o l a:

¿Qué datos estás cargando en cada uno de los combos?

En la pregunta está claramente. El primero tiene número del 1 al 31 para el día; el segundo tiene los meses del año de enero a febrero; y en el último los años, 2015, 2016, 2017,...

Te anexo el código para convertir a fecha:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    If ComboBox1 = "" Then
        MsgBox "Selecciona el día"
        ComboBox1.SetFocus
        Exit Sub
    End If
    If ComboBox2 = "" Then
        MsgBox "Selecciona el mes"
        ComboBox2.SetFocus
        Exit Sub
    End If
    If ComboBox3 = "" Then
        MsgBox "Selecciona el año"
        ComboBox3.SetFocus
        Exit Sub
    End If
    fecha = DateSerial(Val(ComboBox3), ComboBox2.ListIndex + 1, Val(ComboBox1))
    TextBox1 = Format(fecha, "dd-mmm-yyyy")
    Range("A5") = fecha
    Range("A5").NumberFormat = "dd-mmm-yyyy"
End Sub

Estoy guardando en la variable fecha la conversión de los 3 combobox a fecha.

fecha = DateSerial(Val(ComboBox3), ComboBox2. ListIndex + 1, Val(ComboBox1))

Una vez que tienes la fecha la puedes pasar a un textbox:

TextBox1 = Format(fecha, "dd-mmm-yyyy")

O a una celda:

    Range("A5") = fecha
    Range("A5"). NumberFormat = "dd-mmm-yyyy"

Nota: La desventaja de no poder utilizar un control de calendario, es que tendrás que validad que seleccionen una fecha válida.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas