Note: The other languages of the website are Google-translated. Back to English

¿Cómo crear un calendario mensual / anual en Excel?

En algún momento, necesita crear un calendario de mes o año específico en Excel, ¿cómo puede resolverlo rápidamente? Este tutorial presenta los trucos para crear rápidamente un calendario mensual o anual en Excel.

Cree un calendario mensual o anual con una plantilla de Excel

Crear calendario mensual por VBA

Cree fácilmente un calendario mensual o anual con el calendario perpetuo buena idea3

Pestaña de Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
  • Reutiliza cualquier cosa: Agregue las fórmulas, gráficos y cualquier otra cosa más utilizados o complejos a sus favoritos y reutilícelos rápidamente en el futuro.
  • Más de 20 funciones de texto: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convierta números y monedas a palabras en inglés.
  • Combinar herramientas: Varios libros de trabajo y hojas en uno; Fusionar varias celdas / filas / columnas sin perder datos; Fusionar filas duplicadas y suma.
  • Herramientas divididas: Divida los datos en varias hojas según el valor; Un libro de trabajo para varios archivos Excel, PDF o CSV; Una columna a varias columnas.
  • Pegar saltando Filas ocultas / filtradas; Cuenta y suma por color de fondo; Envíe correos electrónicos personalizados a varios destinatarios de forma masiva.
  • Súper filtro: Cree esquemas de filtros avanzados y aplíquelos a cualquier hoja; Ordenar por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de 300 potentes funciones; Funciona con Office 2007-2021 y 365; Admite todos los idiomas; Fácil implementación en su empresa u organización.

flecha azul burbuja derecha Cree un calendario mensual o anual con una plantilla de Excel

En Excel, puede utilizar una plantilla de calendario para crear un calendario mensual o anual.

1. En Excel 2010/2013, haga clic en Declarar impuestos > Nueva, en Excel 2007, haga clic en Botón de oficina > Nueva, luego en la sección derecha de la ventana emergente, escriba calendario en el motor de búsqueda. Ver captura de pantalla:

En Excel 2010/2013

doc calendario mensual 1

En Excel 2007

doc calendario mensual 2

2. Prensa Enviar, se muestran varios tipos de calendarios en la ventana. Seleccione el tipo de calendario que necesita y haga clic en Descargar (o crear) en el panel derecho. Ver captura de pantalla:

doc calendario mensual 3

Ahora se crea un calendario en un nuevo libro de trabajo. Ver captura de pantalla:

doc calendario mensual 4


flecha azul burbuja derecha Crear calendario mensual por VBA

A veces, es necesario crear un calendario de un mes para un mes específico, como enero de 2015. Puede ser muy difícil encontrar una plantilla de calendario de este tipo con el método anterior. Aquí presento un código VBA para ayudarlo a crear un calendario mensual específico.

1. Prensa Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, luego copie y pegue el código VBA debajo de la ventana.

VBA: crea un calendario mensual.

Sub CalendarMaker()

       ' Unprotect sheet if had previous calendar to prevent error.
       ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
          Scenarios:=False
       ' Prevent screen flashing while drawing calendar.
       Application.ScreenUpdating = False
       ' Set up error trapping.
       On Error GoTo MyErrorTrap
       ' Clear area a1:g14 including any previous calendar.
       Range("a1:g14").Clear
       ' Use InputBox to get desired month and year and set variable
       ' MyInput.
       MyInput = InputBox("Type in Month and year for Calendar ")
       ' Allow user to end macro with Cancel in InputBox.
       If MyInput = "" Then Exit Sub
       ' Get the date value of the beginning of inputted month.
       StartDay = DateValue(MyInput)
       ' Check if valid date but not the first of the month
       ' -- if so, reset StartDay to first day of month.
       If Day(StartDay) <> 1 Then
           StartDay = DateValue(Month(StartDay) & "/1/" & _
               Year(StartDay))
       End If
       ' Prepare cell for Month and Year as fully spelled out.
       Range("a1").NumberFormat = "mmmm yyyy"
       ' Center the Month and Year label across a1:g1 with appropriate
       ' size, height and bolding.
       With Range("a1:g1")
           .HorizontalAlignment = xlCenterAcrossSelection
           .VerticalAlignment = xlCenter
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 35
       End With
       ' Prepare a2:g2 for day of week labels with centering, size,
       ' height and bolding.
       With Range("a2:g2")
           .ColumnWidth = 11
           .VerticalAlignment = xlCenter
           .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
           .Orientation = xlHorizontal
           .Font.Size = 12
           .Font.Bold = True
           .RowHeight = 20
       End With
       ' Put days of week in a2:g2.
       Range("a2") = "Sunday"
       Range("b2") = "Monday"
       Range("c2") = "Tuesday"
       Range("d2") = "Wednesday"
       Range("e2") = "Thursday"
       Range("f2") = "Friday"
       Range("g2") = "Saturday"
       ' Prepare a3:g7 for dates with left/top alignment, size, height
       ' and bolding.
       With Range("a3:g8")
           .HorizontalAlignment = xlRight
           .VerticalAlignment = xlTop
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 21
       End With
       ' Put inputted month and year fully spelling out into "a1".
       Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
       ' Set variable and get which day of the week the month starts.
       DayofWeek = WeekDay(StartDay)
       ' Set variables to identify the year and month as separate
       ' variables.
       CurYear = Year(StartDay)
       CurMonth = Month(StartDay)
       ' Set variable and calculate the first day of the next month.
       FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
       ' Place a "1" in cell position of the first day of the chosen
       ' month based on DayofWeek.
       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
       ' Loop through range a3:g8 incrementing each cell after the "1"
       ' cell.
       For Each cell In Range("a3:g8")
           RowCell = cell.Row
           ColCell = cell.Column
           ' Do if "1" is in first column.
           If cell.Column = 1 And cell.Row = 3 Then
           ' Do if current cell is not in 1st column.
           ElseIf cell.Column <> 1 Then
               If cell.Offset(0, -1).Value >= 1 Then
                   cell.Value = cell.Offset(0, -1).Value + 1
                   ' Stop when the last day of the month has been
                   ' entered.
                   If cell.Value > (FinalDay - StartDay) Then
                       cell.Value = ""
                       ' Exit loop when calendar has correct number of
                       ' days shown.
                       Exit For
                   End If
               End If
           ' Do only if current cell is not in Row 3 and is in Column 1.
           ElseIf cell.Row > 3 And cell.Column = 1 Then
               cell.Value = cell.Offset(-1, 6).Value + 1
               ' Stop when the last day of the month has been entered.
               If cell.Value > (FinalDay - StartDay) Then
                   cell.Value = ""
                   ' Exit loop when calendar has correct number of days
                   ' shown.
                   Exit For
               End If
           End If
       Next

       ' Create Entry cells, format them centered, wrap text, and border
       ' around days.
       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
               ' Unlock these cells to be able to enter text later after
               ' sheet is protected.
               .Locked = False
           End With
           ' Put border around the block of dates.
           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
       ' Turn off gridlines.
       ActiveWindow.DisplayGridlines = False
       ' Protect sheet to prevent overwriting the dates.
       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
          Scenarios:=True

       ' Resize window to show all of calendar (may have to be adjusted
       ' for video configuration).
       ActiveWindow.WindowState = xlMaximized
       ActiveWindow.ScrollRow = 1

       ' Allow screen to redraw with calendar showing.
       Application.ScreenUpdating = True
       ' Prevent going to error trap unless error found by exiting Sub
       ' here.
       Exit Sub
   ' Error causes msgbox to indicate the problem, provides new input box, 
   ' and resumes at the line that caused the error.
   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

El VBA viene de esta web https://support.microsoft.com/en-us/kb/150774

2. Prensa F5 o Ejecutar y aparece un cuadro de diálogo para recordarle que escriba el mes específico que necesita para crear un calendario, vea la captura de pantalla:

doc calendario mensual 5

3. Hacer clic en OK. Ahora se crea un calendario de enero de 2015 en la hoja activa.

doc calendario mensual 6

Pero en los métodos anteriores, existen algunas limitaciones, por ejemplo, si desea crear un calendario de enero a mayo a la vez, debe crear el calendario cinco veces con los dos métodos anteriores. Ahora presento una útil utilidad para resolverlo rápida y fácilmente


flecha azul burbuja derecha Cree fácilmente un calendario mensual o anual con el calendario perpetuo

Calendario perpetuo es una de las poderosas utilidades en Kutools for Excely puede ayudarlo a crear rápidamente un calendario mensual o anual en Excel a la vez.

Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. 

1. Hacer clic en Empresa > Hoja de trabajo > Calendario perpetuo. ver captura de pantalla:

doc calendario mensual 7

2. En el cuadro de diálogo emergente, especifique la duración del mes en el que desea crear el calendario y haga clic en Crea. Ver captura de pantalla:

doc calendario mensual 8

Luego, se crea un nuevo libro de trabajo con cinco hojas de trabajo de calendario. Ver captura de pantalla:

doc calendario mensual 9

Consejo:

Si solo desea crear un calendario mensual específico, solo necesita seleccionar el mismo mes en los cuadros de texto Desde y Hasta en el cuadro de diálogo.

Haga clic aquí para saber más sobre el calendario perpetuo


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (0)
Aún no hay calificaciones. ¡Sé el primero en calificar!
No hay comentarios publicados aquí todavía

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL