Pon la siguiente macro en los eventos de tu hoja
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Target.Address(False, False) <> "B2" Then Exit Sub
If Target.Count > 1 Then Exit Sub
'
Range("B3:B" & Range("B" & Rows.Count).End(xlUp).Row + 3).ClearContents
elmes = 0
mes = LCase(Range("B2"))
For i = 1 To 12
m = LCase(Format(DateSerial(Year(Date), i, 1), "mmmm"))
If m = mes Then
elmes = i
Exit For
End If
Next
'
If elmes = 0 Then
MsgBox "El nombre del mes no es correcto"
Exit Sub
End If
'
k = 3
For d = 1 To Day(DateSerial(Year(Date), elmes + 1, 1) - 1)
dia = Weekday(DateSerial(Year(Date), elmes, d))
Select Case dia
Case 1, 7
Cells(k, "B") = DateSerial(Year(Date), elmes, d)
Cells(k, "B").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
k = k + 1
End Select
Next
End Sub
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- En el panel del lado derecho copia la macro
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias