Llenar un Combobox con los días en un mes determinado

Tengo un userform en el cual el combobox1 está lleno de los meses del año en formato (mmmm) texto, es decir; enero, febrero... Etc

Ahora, quisiera que al salir del combobox1, al seleccionar un mes, el combobox2 que lleva la etiqueta día, se llenara con los meses del mes en cuestión, es decir, del 1 al 31 en caso de enero, del 1 al 28 en caso de febrero (de este año, podría poner otro combobox que seleccione el año pero por defecto tenga el actual). Etc.

Mis limitaciones en el lenguaje han hecho que me atore, supongo que tendría que ser algo así como:

for each day in combobox1.value additem.combobox2, algo por el estilo.

Respuesta
3

H o la : Te anexo el código, para cargar los meses y los días de cada mes.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ComboBox3.Clear
    If ComboBox1.ListIndex = -1 Or ComboBox1 = "" Then Exit Sub
    mes = ComboBox1.ListIndex + 1
    ultdia = Day(DateSerial(Year(Date), mes + 1, 1) - 1)    'último día del mes
    For i = 1 To ultdia
        ComboBox3.AddItem i
    Next
End Sub
'
Private Sub UserForm_Activate()
    'cargar los 12 meses
    For i = 1 To 12
        ComboBox1.AddItem WorksheetFunction.Proper(Format(DateSerial(Year(Date), i, 1), "mmmm"))
    Next
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias! 

Te agradezco infinitamente toda tu ayuda Dante. El código no sólo es exacto, si no es simple, muy bien pensado. Gracias por compartir tu conocimiento.

Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas