Ante todo, perdón por el retraso, pero las vacaciones son sagradas. Option Compare Database Dim arr(1 To 7) As Integer Private Sub Comando0_Click() Dim i% For i = 1 To 7 arr(i) = 0 Next damedias 1 For i = 1 To 7 Debug.Print arr(i) Next End Sub Sub damedias(imes As Integer) Dim iUltimo As Integer, iCont As Integer Select Case imes Case 1, 3, 5, 7, 8, 10, 12 iUltimo = 31 Case 4, 6, 9, 11 iUltimo = 30 Case 2 iUltimo = 28 End Select For iCont = 1 To iUltimo Select Case Weekday(CDate(iCont & "/" & imes & "/" & Format(Now, "yyyy"))) Case vbSunday arr(vbSunday) = arr(vbSunday) + 1 Case vbMonday arr(vbMonday) = arr(vbMonday) + 1 Case vbTuesday arr(vbTuesday) = arr(vbTuesday) + 1 Case vbWednesday arr(vbWednesday) = arr(vbWednesday) + 1 Case vbThursday arr(vbThursday) = arr(vbThursday) + 1 Case vbFriday arr(vbFriday) = arr(vbFriday) + 1 Case vbSaturday arr(vbSaturday) = arr(vbSaturday) + 1 Case vbSunday arr(vbSunday) = arr(vbSunday) + 1 End Select Next End Sub Arr(1) contiene los domingos y arr(7) los lunes Ten en cuenta que no contará bien cuando sea un año bisiesto (febrero=29 días). Esto te lo pongo de ejercicio