KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo crear un calendario en Excel?

AutorAsistencia técnica Fecha de modificación

Un calendario en Excel le ayuda a llevar un control de eventos importantes, como el inicio de un nuevo trabajo o la fecha de entrega de un proyecto. Le permite visualizar esas fechas de forma clara y sencilla. En esta guía, le mostraré cómo crear calendarios mensuales y anuales en Excel: veremos cómo usar plantillas para una configuración rápida y también cómo crear uno desde cero si prefiere tener un mayor control. Así, podrá mantenerse organizado tanto en su entorno profesional como en su vida personal.

crear un calendario

Cree un calendario anual utilizando plantillas de calendario de Excel

Cree rápidamente un calendario mensual o anual con Kutools para Excel

Cree un calendario mensual con código VBA


Cree un calendario anual utilizando plantillas de calendario de Excel

Con este método, asegúrese de que su equipo esté conectado a la red para poder descargar las Plantillas de calendario.

1. Vaya a la pestaña Archivo, haga clic en el botón Nuevo del panel izquierdo y, a continuación, haga clic en Calendarios en Búsquedas sugeridas. Vea la captura de pantalla:

haga clic en el botón Nuevo y, a continuación, en Calendarios

2. Seleccione una de las plantillas de calendario que más le guste y haga doble clic en ella para crear su calendario anual.

seleccione una de las plantillas de calendario

Resultado

el calendario se inserta


Cree rápidamente un calendario mensual o anual con Kutools para Excel

Calendario Perpetuo, la herramienta de Kutools para Excel, crea rápidamente un calendario personalizado por mes o por año en un nuevo libro de trabajo, y cada calendario mensual se incluye en una hoja de cálculo nueva.

Kutools para Excelofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia.Integrado con capacidades de inteligencia artificial, Kutools automatiza tareas con precisión, haciendo que la gestión de datos sea sencilla.Más información sobre Kutools para Excel...         Prueba gratuita...

Tras instalar Kutools para Excel, haga clic en KUTOOLS PLUS > Hoja de cálculo > Calendario Perpetuo. En el cuadro de diálogo emergente Calendario Perpetuo, proceda como se indica a continuación:

  • Para crear un calendario mensual, especifique los meses para los que desea generar el calendario mediante los campos desplegables Desde y Hasta, y haga clic en Crear.

especifique los meses para crear un calendario mensual

  • Para crear un calendario anual, especifique el año mediante los campos desplegables Desde y Hasta, y haga clic en Crear.

especifique el año para crear un calendario anual

Resultado
  • Un calendario mensual:

Se inserta un calendario mensual

  • Un calendario anual:

Se inserta un calendario anual

Consejo: Para utilizar esta función, primero debe instalar Kutools para Excel, así que haga clic para descargarlo y disfrutar de una prueba gratuita de 30 díasahora.

Cree un calendario mensual con código VBA

Con el siguiente código VBA, podrá crear rápidamente un calendario mensual. Siga estos sencillos pasos:

1. Pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Aparecerá una nueva ventana. Haga clic en Insertar > Módulo y, a continuación, introduzca el siguiente código en el módulo:

 Sub CalendarMaker()
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
Scenarios:=False
Application.ScreenUpdating = False
On Error GoTo MyErrorTrap
Range("a1:g14").Clear
MyInput = InputBox("Type in Month and year for Calendar ")
If MyInput = "" Then Exit Sub
StartDay = DateValue(MyInput)
If Day(StartDay) <> 1 Then
StartDay = DateValue(Month(StartDay) & "/1/" & _
Year(StartDay))
End If
Range("a1").NumberFormat = "mmmm yyyy"
With Range("a1:g1")
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
.Font.Size = 18
.Font.Bold = True
.RowHeight = 35
End With
With Range("a2:g2")
.ColumnWidth = 11
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = xlHorizontal
.Font.Size = 12
.Font.Bold = True
.RowHeight = 20
End With
Range("a2") = "Sunday"
Range("b2") = "Monday"
Range("c2") = "Tuesday"
Range("d2") = "Wednesday"
Range("e2") = "Thursday"
Range("f2") = "Friday"
Range("g2") = "Saturday"
With Range("a3:g8")
.HorizontalAlignment = xlRight
.VerticalAlignment = xlTop
.Font.Size = 18
.Font.Bold = True
.RowHeight = 21
End With
Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
DayofWeek = Weekday(StartDay)
CurYear = Year(StartDay)
CurMonth = Month(StartDay)
FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
Select Case DayofWeek
Case 1
Range("a3").Value = 1
Case 2
Range("b3").Value = 1
Case 3
Range("c3").Value = 1
Case 4
Range("d3").Value = 1
Case 5
Range("e3").Value = 1
Case 6
Range("f3").Value = 1
Case 7
Range("g3").Value = 1
End Select
For Each cell In Range("a3:g8")
RowCell = cell.Row
ColCell = cell.Column
If cell.Column = 1 And cell.Row = 3 Then
ElseIf cell.Column <> 1 Then
If cell.Offset(0, -1).Value >= 1 Then
cell.Value = cell.Offset(0, -1).Value + 1
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
Exit For
End If
End If
ElseIf cell.Row > 3 And cell.Column = 1 Then
cell.Value = cell.Offset(-1, 6).Value + 1
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
Exit For
End If
End If
Next
For x = 0 To 5
Range("A4").Offset(x * 2, 0).EntireRow.Insert
With Range("A4:G4").Offset(x * 2, 0)
.RowHeight = 65
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.WrapText = True
.Font.Size = 10
.Font.Bold = False
.Locked = False
End With
With Range("A3").Offset(x * 2, 0).Resize(2, _
7).Borders(xlLeft)
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Range("A3").Offset(x * 2, 0).Resize(2, _
7).Borders(xlRight)
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _
Weight:=xlThick, ColorIndex:=xlAutomatic
Next
If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _
.Resize(2, 8).EntireRow.Delete
ActiveWindow.DisplayGridlines = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True
ActiveWindow.WindowState = xlMaximized
ActiveWindow.ScrollRow = 1
Application.ScreenUpdating = True
Exit Sub
MyErrorTrap:
MsgBox "You may not have entered your Month and Year correctly." _
& Chr(13) & "Spell the Month correctly" _
& " (or use 3 letter abbreviation)" _
& Chr(13) & "and 4 digits for the Year"
MyInput = InputBox("Type in Month and year for Calendar")
If MyInput = "" Then Exit Sub
Resume
End Sub 

3. A continuación, haga clic en el botón Ejecutar o pulse la tecla F5 para ejecutar la aplicación. Aparecerá un cuadro de diálogo en el que podrá introducir el mes y el año en el campo correspondiente.

introduzca el mes y el año en el cuadro de texto

Resultado

se inserta un calendario mensual