Excel là một công cụ tuyệt vời để tự động hóa một số phép tính và mẫu. Bạn có thể tạo nhiều loại lịch hàng tháng thông qua Excel. Nếu bạn đang tìm cách để làm điều này, bạn đã hạ cánh ở một nơi hoàn hảo. Trong bài viết này, tôi sẽ chỉ cho bạn 3 cách hiệu quả để tạo lịch hàng tháng trong Excel.
Bạn có thể tải xuống miễn phí sách bài tập thực hành của chúng tôi từ đây!
3 cách hiệu quả để tạo lịch hàng tháng trong Excel
1. Tạo Lịch hàng tháng từ Mẫu Excel
Bản thân Excel có một số mẫu được tạo sẵn cho lịch. Bạn có thể tạo lịch hàng tháng từ bất kỳ mẫu nào trong số đó bằng cách làm theo các cách bên dưới.
📌 Các bước:
- Trước hết, hãy chuyển đến Tệp tab.
- Sau đó, chọn Mới từ Tệp được mở rộng tab.
- Sau đó, một Mới cửa sổ sẽ xuất hiện.
- Sau đây, nhập lịch trong hộp tìm kiếm và nhấp vào nút Bắt đầu tìm kiếm biểu tượng.
- Do đó, các mẫu có sẵn sẽ đến với bạn dưới dạng đề xuất.
- Bây giờ, hãy chọn bất kỳ mẫu nào bạn thích và nhấp vào nút Tạo nút.
Do đó, bạn sẽ thấy lịch sẽ xuất hiện trong cửa sổ Excel mới theo mẫu. Đối với mẫu đã chọn của chúng tôi, kết quả sẽ như sau.
Đọc thêm: Cách tạo lịch trong Excel mà không cần mẫu (2 ví dụ)
2. Tạo lịch hàng tháng tùy chỉnh trong Excel 2003 | Năm 2007 | Năm 2010 | Năm 2013 | Các phiên bản 2016 và sau đó
Bây giờ, có thể xảy ra trường hợp bạn không thích bất kỳ mẫu tạo sẵn nào, thay vì bạn muốn tạo lịch hàng tháng của riêng mình theo lựa chọn của riêng bạn. Về vấn đề này, bạn có thể tạo lịch hàng tháng trong Excel bằng cách thực hiện các bước bên dưới.
📌 Các bước:
- Trước tiên, hãy tạo tiêu đề cho tháng của bạn và chọn 7 hàng và 7 cột.
- Sau đó, khi lựa chọn, hãy nhấp vào Tất cả các đường viền biểu tượng từ Trang chủ tab.
- Do đó, tất cả các ô sẽ có tất cả các đường viền.
- Sau đây, tại hàng đã chọn đầu tiên, hãy viết tên của các ngày trong tuần và định dạng chúng theo mong muốn của bạn.
- Bây giờ, chọn 6 hàng và 7 cột khác>> chuyển đến Trang chủ tab>> Ô nhóm>> Định dạng công cụ>> Chiều cao hàng… tùy chọn.
- Do đó, Chiều cao hàng cửa sổ sẽ xuất hiện.
- Đặt giá trị 40 ở Chiều cao hàng: hộp văn bản và nhấp vào OK nút.
- Sau đó, theo lựa chọn trước đó, hãy chuyển đến Trang chủ tab>> Ô nhóm>> Định dạng toool>> Chiều rộng cột… tùy chọn.
- Do đó, Chiều rộng cột cửa sổ sẽ xuất hiện.
- Sau đó, đặt giá trị là 12 trong Chiều rộng cột: hộp văn bản và nhấp vào OK nút.
- Bây giờ, trên lựa chọn trước đó, nhấp chuột phải trên chuột của bạn và chọn Định dạng ô… từ menu ngữ cảnh.
- Tại thời điểm này, Định dạng ô cửa sổ sẽ xuất hiện.
- Sau đó, đi tới Căn chỉnh >> chọn tab Phải (Thụt lề) trong tùy chọn Ngang: danh sách tùy chọn>> chọn Trên cùng trong tùy chọn Dọc: danh sách tùy chọn>> nhấp vào OK nút.
Như vậy, định dạng lịch của bạn đã hoàn toàn sẵn sàng. Bây giờ, hãy google vào ngày đầu tiên của tháng tiếp theo của năm tiếp theo và đặt các giá trị tương ứng với các ngày trong tuần. Cuối cùng, lịch hàng tháng sẽ giống như thế này.
Đọc thêm:Cách tạo lịch tương tác trong Excel (2 cách dễ dàng)
3. Tạo lịch hàng tháng bằng VBA
Một cách khác để tạo lịch hàng tháng là sử dụng mã VBA. Bạn có thể làm theo các bước bên dưới để thực hiện việc này.
📌 Các bước:
- Ngay từ đầu, hãy tạo một trang tính mới và chuyển đến Nhà phát triển tab>> Visual Basic công cụ.
- Do đó, Microsoft Visual Basic cho các ứng dụng cửa sổ sẽ xuất hiện.
- Sau đây, đi tới Chèn >> chọn Mô-đun tùy chọn.
- Do đó, một mô-đun mới có tên Mô-đun1 đã được tạo.
- Sau đó, nhấp đúp trên Mô-đun1 và viết mã VBA bên dưới trong cửa sổ mã.
Mã VBA này được lấy từ docs.microsoft.com này .
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 months and years")
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
- Sau đó, nhấn Ctrl + S .
- Tại thời điểm này, Microsoft Excel hộp thoại sẽ xuất hiện. Nhấp vào nút Không ở đây.
- Do đó, nút Lưu dưới dạng hộp thoại sẽ xuất hiện.
- Sau đó, chọn Lưu dưới dạng: tùy chọn dưới dạng .xlsm và nhấp vào nút Lưu nút.
- Bây giờ, hãy đóng cửa sổ mã và chuyển đến Nhà phát triển tab>> Macro công cụ.
- Do đó, Macro cửa sổ sẽ xuất hiện.
- Sau đây, chọn CalendarMaker và nhấp vào nút Chạy nút.
- Do đó, Microsoft Excel hộp thoại sẽ xuất hiện.
- Tại đây, hãy viết 3 chữ cái đầu tiên của tháng và 4 chữ số của năm.
- Cuối cùng, nhấp vào nút OK nút.
Do đó, bạn sẽ thấy lịch của tháng tiếp theo sẽ được tạo trong trang tính của bạn và kết quả sẽ như thế này.
Tạo Lịch tương tác / động trong Excel với Công thức
Bây giờ, nếu bạn muốn tạo lịch tương tác / động trong Excel với công thức, bạn phải thực hiện một số công việc bổ sung. Thực hiện cẩn thận các bước bên dưới để đạt được điều này.
📌 Các bước:
- Đầu tiên, hãy tạo hai bảng trợ giúp, một bảng có danh sách ngày lễ và một bảng có danh sách tên tháng.
- Bây giờ, hãy tạo mẫu lịch hàng tháng tùy chỉnh theo lựa chọn của bạn.
- Tiếp theo, vì mục đích động, chúng tôi muốn tự động hóa tên của tháng ngay bây giờ.
- Để thực hiện việc này, hãy chọn H4 ô>> chuyển đến Dữ liệu tab>> Công cụ dữ liệu nhóm>> Xác thực dữ liệu công cụ>> Xác thực dữ liệu… tùy chọn.
- Sau đó, Xác thực dữ liệu cửa sổ sẽ xuất hiện.
- Sau đó, đi tới Cài đặt ở đây>> chọn Danh sách từ tùy chọn Cho phép: danh sách tùy chọn>> tham khảo E5:E16 ô tại Nguồn: hộp văn bản>> nhấp vào OK nút.
- Do đó, bạn sẽ thấy rằng sẽ có một danh sách thả xuống trong H4 và bạn có thể chọn tháng bằng cách nhấp vào.
- Sau khi chọn tháng là tháng 1, hãy nhấp vào B6 ô và chèn công thức sau.
=IF(MONTH(DATE($D$4,MATCH($H$4,'Helper Columns'!$E$5:$E$16,0),1)+SEQUENCE(6,7)-WEEKDAY(DATE($D$4,MATCH($H$4,'Helper Columns'!$E$5:$E$16,0),1),2))=MATCH($H$4,'Helper Columns'!$E$5:$E$16,0),DATE($D$4,MATCH($H$4,'Helper Columns'!$E$5:$E$16,0),1)+SEQUENCE(6,7)-WEEKDAY(DATE($D$4,MATCH($H$4,'Helper Columns'!$E$5:$E$16,0),1),2),"")
- Sau đó, nhấn Enter nút.
- Do đó, bạn có thể nhận được tất cả các ngày theo các ngày trong tuần cho tháng tiếp theo một cách chính xác.
- Tuy nhiên, các giá trị không ở định dạng thích hợp.
- Để sửa lỗi này, hãy nhấp chuột phải về tổng thể B6:H11 lựa chọn và chọn Định dạng ô… từ menu ngữ cảnh.
- Kết quả là Định dạng ô hộp thoại sẽ xuất hiện.
- Đi tới Số ở đây>> chọn Tùy chỉnh tùy chọn từ Danh mục: ngăn>> ghi đ trong Loại: hộp văn bản>> nhấp vào OK nút.
- Do đó, ngày lịch của bạn được định dạng đúng và bạn có thể xem toàn bộ lịch cho tháng tiếp theo.
- Bây giờ, để đánh dấu các ngày cuối tuần khác nhau, hãy chọn các ô của ngày cuối tuần>> chuyển đến Trang chủ tab>> Phông chữ nhóm>> Tô màu biểu tượng>> chọn Màu cam, Accent 2, Nhẹ hơn 40% màu sắc.
- Bây giờ, để đánh dấu các ngày lễ, hãy chọn ô B6:H11>> chuyển đến tab Trang chủ>> Định dạng có điều kiện công cụ>> Quy tắc mới… tùy chọn.
- Do đó, Chỉnh sửa quy tắc định dạng cửa sổ sẽ xuất hiện.
- Sau đây, chọn tùy chọn cuối cùng từ Chọn loại quy tắc: danh sách tùy chọn>> viết công thức bên dưới trong Định dạng giá trị mà công thức này đúng: thanh công thức>> nhấp vào Định dạng… tùy chọn.
=ISNUMBER(VLOOKUP('Dynamic Monthly Calender'!B6,'Helper Columns'!$C$5:$C$15,1,0))
- Sau đó, chuyển đến Điền tab từ cửa sổ xuất hiện>> chọn đỏ màu>> nhấp vào nút OK nút.
- Do đó, Chỉnh sửa quy tắc định dạng cửa sổ sẽ xuất hiện trở lại với bản xem trước. Nhấp vào nút OK nút.
Do đó, bạn sẽ nhận được lịch tháng tương tác của mình, nơi các ngày cuối tuần được hiển thị bằng các màu khác nhau và các ngày lễ cũng được hiển thị bằng các màu khác nhau. Bạn có thể thay đổi từng tháng theo trình đơn thả xuống trong H4 và do đó, các ngày trong tuần, cuối tuần và ngày lễ cũng sẽ tự động thay đổi.
Tạo lịch hàng năm trong Excel
Bây giờ, nếu bạn muốn tạo lịch hàng năm trong Excel, bạn có thể làm theo các bước bên dưới.
📌 Các bước:
- Ngay từ đầu, hãy tạo mẫu cho ngày và tháng theo lựa chọn của riêng bạn.
- Sau đó, nhấp vào B6 ô và chèn công thức sau.
=IF(MONTH(DATE($B$3,MATCH($B$4,'Helper Columns'!$E$5:$E$16,0),1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$3,MATCH($B$4,'Helper Columns'!$E$5:$E$16,0),1),2))=MATCH($B$4,'Helper Columns'!$E$5:$E$16,0),DATE($B$3,MATCH($B$4,'Helper Columns'!$E$5:$E$16,0),1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$3,MATCH($B$4,'Helper Columns'!$E$5:$E$16,0),1),2),"")
- Sau đó, nhấn nút Ente nút r.
- Do đó, bạn sẽ thấy ngày sẽ được đặt theo những ngày cụ thể của tháng tiếp theo.
- Tuy nhiên, đối với các vấn đề về định dạng và dung lượng nhỏ hơn, đôi khi nó có thể hiển thị ###.
- Để khôi phục điều này, hãy chọn tập dữ liệu của cả tháng và nhấp chuột phải trên các ô.
- Sau đây, chọn Định dạng ô… tùy chọn.
- Do đó, Định dạng ô cửa sổ sẽ xuất hiện.
- Bây giờ, hãy chuyển đến Số >> chọn tab Tùy chỉnh từ Danh mục: ngăn>> ghi đ trong Loại: hộp văn bản>> nhấp vào OK nút.
- Lặp lại các quy trình này cho mỗi tháng của năm sau.
- Do đó, bạn sẽ nhận được ngày tháng theo các ngày trong tuần trong cả năm.
- Bây giờ, để đánh dấu các ngày cuối tuần, hãy chọn các ô cuối tuần>> chuyển đến Trang chủ tab>> Phông chữ nhóm>> Tô màu biểu tượng>> chọn màu Cam, Accent 2, Nhẹ hơn 40% .
- Sau đó, để đánh dấu các ngày lễ trong tháng 1, hãy chọn tất cả các ngày trong tháng>> chuyển đến Trang chủ tab>> Định dạng có điều kiện công cụ>> chọn Quy tắc mới… tùy chọn.
- Do đó, Chỉnh sửa quy tắc định dạng cửa sổ sẽ xuất hiện.
- Sau đây, chọn tùy chọn cuối cùng từ Chọn loại quy tắc: tùy chọn>> chèn công thức sau vào Định dạng giá trị mà công thức này đúng: hộp văn bản>> nhấp vào Định dạng… nút.
=ISNUMBER(VLOOKUP(B6,'Helper Columns'!$C$5:$C$15,1,0))
- Sau đó, chuyển đến Điền >> chọn tab Đỏ màu>> nhấp vào nút OK nút.
- Do đó, Chỉnh sửa quy tắc định dạng cửa sổ sẽ xuất hiện trở lại với bản xem trước. Nhấp vào nút OK nút.
Lặp lại các quy trình này cho tất cả các tháng khác bằng cách sử dụng cùng một công thức và định dạng động và do đó bạn sẽ nhận được lịch hàng năm động của mình.
Đọc thêm: Cách tạo lịch hàng tuần trong Excel (3 cách phù hợp)
Cách tạo lịch biểu hàng tháng trong Excel
Bạn cũng có thể tạo lịch biểu hàng tháng trong Excel một cách dễ dàng. Để thực hiện việc này, hãy làm theo các bước bên dưới một cách cẩn thận.
📌 Các bước:
- Ban đầu, hãy chuyển đến Tệp tab.
- Sau đó, chọn Mới từ Tệp được mở rộng tab>> viết Lịch biểu hàng tháng trong hộp tìm kiếm>> nhấp vào nút Bắt đầu tìm kiếm biểu tượng.
- Do đó, một số mẫu sẽ xuất hiện.
- Sau đây, nhấp vào Lịch 12 tháng mẫu.
- Sau đó, nhấp vào nút Tạo nút.
Kết quả là, một tệp Excel mới sẽ được tạo và do đó bạn sẽ nhận được lịch biểu hàng tháng mong muốn của mình trong Excel.
Kết luận
Như vậy, trong bài viết này, mình đã hướng dẫn các bạn cách tạo lịch hàng tháng trong Excel. Tôi đề nghị bạn đọc toàn bộ bài báo một cách cẩn thận và áp dụng kiến thức cho nhu cầu của bạn. Bạn cũng có thể tải xuống sách bài tập miễn phí của chúng tôi để thực hành. Tôi hy vọng bạn thấy bài viết này hữu ích và nhiều thông tin. Nếu bạn có thêm bất kỳ thắc mắc hoặc đề xuất nào, vui lòng bình luận tại đây.
Và, hãy truy cập ExcelDemy để tìm hiểu thêm những điều về Excel! Chúc một ngày tốt lành!
Bài viết liên quan
- Cách Tạo Lịch Trống trong Excel (Tải xuống Mẫu Miễn phí)