Conas féilire míosúil / bliantúil a chruthú in Excel?
I gceann tamaill, ní mór duit féilire sonrach míosa nó bliana a chruthú in Excel, conas is féidir leat é a réiteach go tapa? Tugann an rang teagaisc seo isteach na cleasanna chun féilire míosúil nó bliantúil a chruthú go tapa in Excel.
Cruthaigh féilire míosúil nó bliantúil de réir Teimpléad Excel
Cruthaigh féilire míosúil le VBA
Féilire míosúil nó bliantúil a chruthú go héasca le Féilire Suthain
Cruthaigh féilire míosúil nó bliantúil de réir Teimpléad Excel
In Excel, is féidir leat teimpléad féilire a úsáid chun féilire míosúil nó bliantúil a chruthú.
1. In Excel 2010/2013, cliceáil Comhad > Nua, in Excel 2007, cliceáil Cnaipe Oifige > Nua, ansin sa chuid cheart den fhuinneog popping, clóscríobh féilire isteach san inneall cuardaigh. Féach an pictiúr:
In Excel 2010/2013
I Excel 2007 saor in aisce,
2. Brúigh Iontráil, ansin tá cineálacha éagsúla féilirí á liostú san fhuinneog. Roghnaigh cineál amháin féilire atá uait, agus cliceáil Íoslódáil (nó Cruthaigh) sa phána ceart. Féach an pictiúr:
Anois cruthaítear féilire i leabhar oibre nua. Féach an pictiúr:
Cruthaigh féilire míosúil le VBA
Uaireanta, ní mór duit féilire míosa a chruthú do mhí shonraithe, mar shampla Eanáir 2015. D’fhéadfadh sé a bheith deacair bruscar a leithéid de theimpléad féilire a fháil leis an modh thuas. Seo a thugann mé cód VBA isteach chun cabhrú leat féilire míosúil ar leith a chruthú.
1. Brúigh Alt + F11 eochracha le hoscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil, ansin cóipeáil agus greamaigh faoi bhun chód VBA chuig an bhfuinneog.
VBA: Cruthaigh féilire míosúil.
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
Tá an VBA ag teacht ón ngréasán seo https://support.microsoft.com/en-us/kb/150774
2. Brúigh F5 eochair nó Rith cnaipe, agus tá dialóg popped amach chun a mheabhrú duit clóscríobh an mhí shonrach a theastaíonn uait chun féilire a chruthú, féach an scáileán:
3. cliceáil OK. Anois cruthaítear féilire Eanáir 2015 sa bhileog ghníomhach.
Ach sna modhanna thuas, tá roinnt teorainneacha ann, mar shampla, más mian leat féilire a chruthú ó Eanáir go Bealtaine ag an am céanna, ní mór duit an féilire a chruthú i gcúig huaire le dhá mhodh thuas. Anois tugaim fóntais áisiúil isteach chun é a réiteach go tapa agus go héasca
Féilire míosúil nó bliantúil a chruthú go héasca le Féilire Suthain
Féilire Síor ar cheann de na fóntais chumhachtacha i Kutools le haghaidh Excel, agus féadfaidh sé cabhrú leat féilire míosúil nó bliantúil a chruthú go tapa in Excel ag an am céanna.
1. cliceáil Kutools Plus > Bileog Oibre > Féilire Síor.
2. Sa dialóg popping, sonraigh an ré míosa a theastaíonn uait an féilire a chruthú, agus cliceáil Cruthaigh. Féach an pictiúr:
Ansin cruthaítear leabhar oibre nua le cúig bhileog oibre féilire. Féach an pictiúr:
Leid:
Mura dteastaíonn uait ach féilire míosa ar leith a chruthú, ní gá duit ach an mhí chéanna a roghnú i mboscaí téacs From and To sa dialóg.
Cliceáil anseo chun níos mó eolais a fháil ar an bhFéilire Suthain
Uirlisí Táirgiúlachta Oifige is Fearr
Supercharge Do Scileanna Excel le Kutools le haghaidh Excel, agus Éifeachtúlacht Taithí Cosúil Ná Roimhe. Kutools le haghaidh Excel Tairiscintí Níos mó ná 300 Ardghnéithe chun Táirgiúlacht a Treisiú agus Sábháil Am. Cliceáil anseo chun an ghné is mó a theastaíonn uait a fháil ...
Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca
- Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
- Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
- Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!