Microsoft Excel är en optimal miljö för att skapa och upprätthålla en kalender . Med hjälp av olika celler , kan du enkelt flytta från dag till dag för att uppdatera kalendern eller lägga in nya händelser och möten . Det är inte svårt att skapa en kalender i Excel . Microsoft har levererat en enkel CalendarMaker makro som ska sättas i Visual Basic Editor i Excel som skapar kalendern för dig . Allt du behöver göra är att kopiera koden för att få din månadskalender i Excel . Instruktioner
1
Öppna Microsoft Excel . Klicka på " Verktyg " -menyn , peka på " Makro " och klicka på " Visual Basic Editor " om du använder Excel 2003 eller tidigare . För Excel 2007/2010 , klicka på " Utvecklare " fliken och klicka sedan på " Visual Basic . " Om du inte ser " Utvecklare " fliken , klicka på " Office " -knappen och sedan " Excel-alternativ . " På första skärmen , klicka på kryssrutan bredvid " Visa fliken Utvecklare i menyfliksområdet " och klicka sedan på " OK . " Den " Utvecklare " fliken ska visa nu .
2
Klicka på " Infoga " i menyn i Visual Basic Editor . Klicka på " Module " för att starta en ny kodmodul
3
Kopiera den första delen av följande kod i den nya modulen : .
" Sub CalendarMaker ( )
" Ta bort bladets skydd om hade föregående kalenderår för att förhindra fel
ActiveSheet.Protect DrawingObjects : . = false , Innehåll : = False , _
Scenarios : = False
' Förhindra skärmen blinkar medan du ritar kalender .
Application.ScreenUpdating = False
"Set up fel fångstmetoder .
On Error GoTo MyErrorTrap
" Rensa området a1 : G14 inklusive föregående kalenderår
Range ( " A1 : G14 " ) . . klar
" Använd InputBox att få önskad månad och år och ställa rörlig
" MyInput .
MyInput = InputBox ( " Ange månad och år för kalendern " ) katalog
" Tillåt användaren att avsluta makro med Avbryt i InputBox .
p Om MyInput = " " Då Exit Sub
' Hämta datum värde från början av inmatade månaden .
StartDay = DateValue ( MyInput ) katalog
" Kontrollera om giltigt datum men inte den första av Månadens
" - i så fall återställer StartDay till första dagen i månaden
p Om Day ( StartDay ) < > 1 Then
StartDay = DateValue ( månad . ( StartDay ) & " /1 /" & _
Year ( StartDay ) ) katalog
End If
'Förbered cell för månad och år inskrivet.
Range ( " a1 " ) NumberFormat = " mmmm yyyy"
' Center månad och år etikett över A1 : g1 med lämplig
" . storlek , höjd och fetstil .
Range ( " A1 : G1" ) . . .
HorizontalAlignment = xlCenterAcrossSelection
VerticalAlignment = xlCenter
Font.Size = 18
Font.Bold = Sant
rowHeight = 35
End With
' Förbered A2 : g2 för veckodag etiketter med centrering , storlek , < . br >
' höjd och fetstil
Med Range ( " A2 : G2 " ) katalog
columnWidth = 11
VerticalAlignment = xlCenter
< s. . . > . HorizontalAlignment = xlCenter
. VerticalAlignment = xlCenter
. Orientering = xlHorizontal
. Font.Size = 12
. Font.Bold = Sant
rowHeight = 20
End With
" Put veckodagar i A2: . . g2
Range ( " A2 " ) = " söndag "
Range ( " B2 " ) = " Måndag "
Range ( " C2 " ) = " Tisdag "
Range ( " d2 " ) = " onsdag "
Range ( " E2 " ) = " Torsdag "
Range ( " F2 " ) = "Fredag "
Range ( " G2 " ) = " lördag "
" Förbered A3 : G7 för datum med vänster /övre justering , storlek , höjd
" . och fetstil
med Range ( " a3 : G8 " ) .
HorizontalAlignment = xlRight
. VerticalAlignment = xlTop
. Font.Size = 18
. Font.Bold = Sant
. rowHeight = 21
End With
" Put matas månad och år fullt ut stavar till" A1 " .
Range ( " a1 " ) . Value = Application.Text ( MyInput , " mmmm yyyy " )
" Sätt variabel och få vilken veckodag i månaden börjar .
dAYOFWEEK = vardag ( StartDay ) katalog
" Set variabler för att identifiera år och månad som separata
" variabler .
CurYear = År ( StartDay ) katalog
CurMonth = månad ( StartDay ) katalog
" Set variabel och beräkna den första dagen i nästa månad .
FinalDay = DateSerial ( CurYear , CurMonth + 1 , 1 ) katalog
" Placera en " 1 " i cellen för den första dagen i den valda
" baserad månad på dAYOFWEEK . "
bort citattecknen på den första och sista raden i koden .
4
Kopiera resten av koden som tar formatet från koden ovan och skapa den faktiska kalendern. Klistra in koden precis under där koden från ovanstående ändar .
" Select Case DAYOFWEEK
Fall 1
Range ( " a3 " ) . Värde = 1
mål 2 Review
Range ( " B3 " ) . Värde = 1
mål 3 bilder
Range ( " C3 " ) . Värde = 1
mål 4
Range ( " D3 " ) . Värde = 1
mål 5
Range ( " E3 " ) . Värde = 1
mål 6
Range ( " f3 " ) . Värde = 1
mål 7
Range ( "G3 " ) . Värde = 1
End Välj
" Loop through intervallet A3 : G8 uppräkning varje cell efter " 1 "
' cell
för varje cell i Range ( " a3 : G8 " ) .
RowCell = cell.Row
ColCell = cell.Column
" Gör om " 1 " är i första kolumnen .
p Om cell.Column = 1 och cell . v = 3 Då
" Gör om aktuella cellen är inte i 1: a kolumnen .
ElseIf cell.Column < > 1 Then
p Om cell.Offset ( 0 , -1 ) . Värde > = 1 Sen
cell.Value = cell.Offset ( 0 , -1 ) . Value + 1
" Stanna när den sista dagen i månaden har varit
" trädde
p Om cell.Value > ( FinalDay - StartDay ) . Sedan
cell.Value = " "
' Exit loop när kalendern har korrekt antal
" visas dagar .
Exit för iPhonen
End If
End If
" Gör om aktuella cellen inte är i rad 3 och är i kolumn 1 .
ElseIf cell.Row > 3 och cell.Column = 1 Sedan
cell.Value = cell.Offset ( -1 , 6 ) . Value + 1
" Stanna när den sista dagen i månaden har trätt
p Om cell.Value > ( FinalDay - StartDay ) . Sedan
cell.Value = " "
' Exit loop när kalendern har rätt antal dagar
" visas .
Exit för iPhonen
End If
End If
Nästa
' Skapa Entry celler , formatera dem centrerat , wrap text , och gränsen
" runt dagarna .
För x = 0 till . 5
Range ( " A4 " ) Offset ( x * 2 , 0 ) EntireRow.Insert
Med Range ( " A4 : G4 " ) . . Offset ( x * 2 , 0 )
. rowHeight = 65
. HorizontalAlignment = xlCenter
. VerticalAlignment = xlTop
. WrapText = Sant
. Font.Size = 10