Come creare un calendario utilizzando Excel

March 31

Come creare un calendario utilizzando Excel


Microsoft Excel è un ambiente ottimale per creare e mantenere un calendario. Utilizzando le diverse cellule, si può facilmente passare da un giorno all'altro per aggiornare il calendario o aggiungere nuovi eventi e appuntamenti. Non è difficile creare un calendario in Excel. Microsoft ha fornito una semplice macro CalendarMaker che inserisce nell'editor di Visual Basic in Excel che creerà il calendario per voi. Tutto quello che dovrete fare è copiare il codice per avere il tuo calendario mensile in Excel.

istruzione

1 Aprire Microsoft Excel. Fare clic sul menu "Strumenti", scegliere "Macro" e cliccare su "Visual Basic Editor" se si utilizza Excel 2003 o versioni precedenti. Per Excel 2007/2010, fare clic sulla scheda "Sviluppatore" e quindi fare clic su "Visual Basic". Se non vedi la scheda "Sviluppatore", cliccare sul pulsante "Office" e poi "Opzioni di Excel." Nella prima schermata, fare clic sulla casella di controllo accanto a "Mostra scheda Sviluppo sulla barra multifunzione" e poi cliccare su "OK". La scheda "Sviluppatore" dovrebbe mostrare ora.

2 Fare clic sulla voce di menu "Inserisci" in Visual Basic Editor. Clicca su "Modulo" per iniziare un nuovo modulo di codice.

3 Copiare la prima parte della seguente codice nel nuovo modulo:

"Sub CalendarMaker ()

' Unprotect sheet if had previous calendar to prevent error.

ActiveSheet.Protect DrawingObjects: = false, Contenuto: = False, _

Scenari: = False

'Schermo Prevenire lampeggia durante il disegno del calendario.

Application.ScreenUpdating = False

'Imposta intercettazione degli errori.

On Error GoTo MyErrorTrap

'Zona Cancella A1: G14 compresa qualsiasi calendario precedente.

Range ( "A1: G14"). Cancella

'Utilizzare InputBox per ottenere desiderato mese e anno e variabili set

'MyInput.

MyInput = InputBox ( "Type in mese e anno per il calendario")

'Consenti all'utente di porre fine macro con Annulla nella InputBox.

Se myInput = "" Allora Exit Sub

'Prendi il valore di data di inizio del mese immesso.

StartDay = DateValue (myInput)

'Controllare se data valida, ma non il primo del mese

'- In caso affermativo, reimpostare StartDay al primo giorno del mese.

Se il giorno (StartDay) & lt;> 1 Poi

StartDay = DateValue (Month (StartDay) & amp; "/ 1 /" & amp; _

Anno (StartDay))

Finisci se

'Preparare cella per mese e anno nel modo più completo precisato.

Range ( "A1"). NumberFormat = "mmmm yyyy"

'Centro l'etichetta mese e anno in tutto A1: G1 con adeguate

'Dimensioni, altezza e grassetto.

Con Range ( "A1: G1")

.HorizontalAlignment = XlCenterAcrossSelection

.VerticalAlignment = XlCenter

.Font.Size = 18

.Font.Bold = True

.RowHeight = 35

End With

'Preparare a2: g2 per il giorno della settimana etichette con centratura, dimensioni,

'Altezza e grassetto.

Con Range ( "A2: g2")

.ColumnWidth = 11

.VerticalAlignment = XlCenter

.HorizontalAlignment = XlCenter

.VerticalAlignment = XlCenter

.Orientation = XlHorizontal

.Font.Size = 12

.Font.Bold = True

.RowHeight = 20

End With

'Mettere giorni di settimana in A2: G2.

Range ( "A2") = "Domenica"

Range ( "B2") = "Lunedi"

Range ( "C2") = "Martedì"

Range ( "D2") = "Mercoledì"

Range ( "e2") = "Giovedi"

Range ( "F2") = "Venerdì"

Range ( "G2") = "Sabato"

'Preparare a3: G7 per date con sinistra / in alto allineamento, dimensioni, altezza

'E grassetto.

Con Range ( "A3: g8")

.HorizontalAlignment = XlRight

.VerticalAlignment = XlTop

.Font.Size = 18

.Font.Bold = True

.RowHeight = 21

End With

'Mettere mese immesso e l'anno completamente precisando in "A1".

Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")

'Impostare la variabile e ottenere in quale giorno della settimana del mese inizia.

DayofWeek = giorno della settimana (StartDay)

'Impostare le variabili per identificare l'anno e il mese come separato

'variabili.

CurYear = Anno (StartDay)

CurMonth = Month (StartDay)

'Impostare variabile e calcolare il primo giorno del mese successivo.

FinalDay = DateSerial (CurYear, CurMonth + 1, 1)

'Inserire una posizione "1" nella cella del primo giorno del prescelto

'Mese in base DayofWeek. "

Rimuovere le virgolette sulla prima e l'ultima riga del codice.

4 Copiare il resto del codice che prende il formato dal codice precedente e creare il calendario effettivo. Incollare il codice proprio sotto dove il codice da finisce sopra.

"Select Case DayofWeek

Caso 1

Range ( "A3"). Valore = 1

caso 2

Range ( "B3"). Valore = 1

caso 3

Range ( "C3"). Valore = 1

caso 4

Range ( "D3"). Valore = 1

caso 5

Range ( "E3"). Valore = 1

caso 6

Range ( "F3"). Valore = 1

caso 7

Range ( "g3"). Valore = 1

End Select

'Loop attraverso gamma A3: g8 incrementando ogni cella dopo il "1"

'Cella.

Per ogni cella Range ( "A3: g8")

RowCell = cell.Row

ColCell = cell.Column

'Fare se "1" è in prima colonna.

Se cell.Column = 1 e cell.Row = 3 Allora

'Fare se la cella corrente non è in 1 ° colonna.

ElseIf cell.Column & lt;> 1 Poi

Se cell.Offset (0, -1) .Value> = 1 Poi

Cell.Value = cell.Offset (0, -1) .Value + 1

'Smettila quando l'ultimo giorno del mese è stata

'Entrato.

Se Cell.Value> (FinalDay - StartDay) Poi

Cell.Value = ""

'Loop Uscita quando il calendario ha corretto il numero di

'Giorni indicati.

Exit For

Finisci se

Finisci se

'Fare solo se la cella corrente non è in riga 3 ed è nella colonna 1.

ElseIf cell.Row> 3 E cell.Column = 1 Poi

Cell.Value = cell.Offset (-1, 6) .Value + 1

'Stop quando è stato inserito l'ultimo giorno del mese.

Se Cell.Value> (FinalDay - StartDay) Poi

Cell.Value = ""

'Loop Uscita quando il calendario ha corretto numero di giorni

'Mostrato.

Exit For

Finisci se

Finisci se

Il prossimo

'Create cellule di ingresso, formattare li centrati, disporre il testo, e il bordo

'intorno giorni.

Per x = 0 a 5

Range ( "A4"). Offset (x * 2, 0) .EntireRow.Insert

Con Range ( "A4: G4"). Offset (x * 2, 0)

.RowHeight = 65

.HorizontalAlignment = XlCenter

.VerticalAlignment = XlTop

.WrapText = True

.Font.Size = 10

.Font.Bold = False

'Sbloccare queste cellule per essere in grado di inserire il testo più tardi, dopo

'Foglio è protetto.

.Locked = False

End With

'Mettere bordo intorno al blocco di date.

Con Range ( "A3"). Offset (x * 2, 0) .Resize (2, _

7) .Borders (xlLeft)

.Weight = XlThick

.ColorIndex = XlAutomatic

End With

Con 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 _

Peso: = xlThick, ColorIndex: = xlAutomatic

Il prossimo

Se Range ( "A13"). Value = "" Allora Range ( "A13"). Offset (0, 0) _

.Resize (2, 8) .EntireRow.Delete

'Spegnere griglia.

ActiveWindow.DisplayGridlines = False

'Proteggi foglio per evitare di sovrascrivere le date.

ActiveSheet.Protect DrawingObjects: = TRUE, Contenuto: = True, _

Scenari: = TRUE

'Finestra Ridimensiona per mostrare tutte calendario (può avere da regolare

'Per la configurazione video).

ActiveWindow.WindowState = xlMaximized

ActiveWindow.ScrollRow = 1

'Lasciare schermo per ridisegnare con la rappresentazione del calendario.

Application.ScreenUpdating = True

'Prevenire intenzione di errore trappola a meno che l'errore trovato uscendo Sub

' Qui.

Exit Sub

'Cause di errore MsgBox per indicare il problema, fornisce nuova casella di input,

'E riprende alla riga che ha causato l'errore.

MyErrorTrap:

MsgBox "You may not have entered your Month and Year correctly." _

& Amp; Chr (13) & amp; "Spell mese correttamente" _

& Amp; "(O utilizzare 3 lettera abbreviazione)" _

& Amp; Chr (13) & amp; "E 4 cifre per l'anno"

MyInput = InputBox ( "Type in mese e anno per il calendario")

Se myInput = "" Allora Exit Sub

Curriculum vitae

End Sub "

Rimuovere le virgolette sulla prima e l'ultima riga del codice. Fare clic sull'icona "Salva" sulla barra degli strumenti. Fare clic sulla voce di menu "File" e poi "Chiudi e torna a Microsoft Excel".

5 Eseguire il modulo "CalendarMaker". In Excel 2007/2010, fare clic sulla scheda "Sviluppatore" e quindi fare clic su "Macro". Nelle versioni precedenti di Excel, fare clic su "Strumenti", punto a "macro" e quindi fare clic su "Macro". Selezionare la macro "CalendarMaker" dall'elenco nella finestra che si apre e poi clicca su "Esegui".