Hướng dẫn này sẽ trình bày cách tạo lịch trong excel mà không cần mẫu. Trong cuộc sống hàng ngày, tất cả chúng ta đều sử dụng thời hạn cho một số công việc hoặc dự án nhất định, vì vậy việc duy trì lịch làm việc của riêng mình là rất quan trọng. Nó giúp bạn nhắc nhở giới hạn thời gian làm việc của mình. Hơn nữa, việc tạo lịch excel của riêng bạn có thể mang lại cho bạn lợi thế hơn khi bạn có thể sửa đổi nó theo ý muốn. Vì vậy, điều rất quan trọng là tạo lịch trong excel mà không cần mẫu.
Bạn có thể tải xuống sách bài tập thực hành từ đây.
2 Ví dụ Dễ dàng Tạo Lịch trong Excel Không cần Mẫu
Chúng ta sẽ sử dụng 2 ví dụ để làm lịch trong excel mà không cần mẫu. Nếu bạn thực hiện đúng các bước, bạn sẽ học cách tự làm lịch trong excel mà không cần mẫu. Các bước là:
1. Tạo lịch hàng tháng trong Excel
Trong trường hợp này, mục tiêu của chúng tôi là tạo lịch hàng tháng mà không cần sử dụng bất kỳ mẫu nào. Chúng tôi có thể dễ dàng làm điều đó bằng cách làm theo các bước dưới đây.
Các bước:
- Đầu tiên, nhấn Alt + F11 các tùy chọn để mở VBA cửa sổ.
- Sau đó, chuyển đến Chèn> Mô-đun tùy chọn.
- Sau đó, chèn mã sau vào cửa sổ.
Sub CalendarMaker()
'This code was taken from extendoffice.com
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
Scenarios:=False
Application.ScreenUpdating = False
On Error GoTo MyErrorTrap
Range("a1:g14").Clear
MyInput = InputBox("Type in Month and year for Calendar ")
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
- Tiếp theo, chèn tháng và năm mong muốn vào hộp thoại lịch và nhấn OK .
- Cuối cùng, sau khi nhấn RUN hoặc F5 , bạn sẽ nhận được kết quả mong muốn.
Đọc thêm: Cách tạo lịch hàng tháng trong Excel (3 cách hiệu quả)
2. Tạo lịch hàng năm trong Excel
Chúng tôi muốn tạo lịch hàng năm trong excel bằng cách làm theo các bước bên dưới.
Các bước:
- Đầu tiên, hãy sắp xếp một tập dữ liệu như hình dưới đây.
- Thứ hai, chèn công thức sau vào ô B8 .
=IF(MONTH(DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2))=$B$6,DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2),"")
🔎 Công thức hoạt động như thế nào?
- (DATE ($ B $ 4, $ B $ 6,1) :phần này đại diện cho các ô đã chọn có hàm DATE sẽ được áp dụng.
- WEEKDAY (DATE ($ B $ 4, $ B $ 6,1), 2) :phần này được xem xét cùng với ngày và ngày trong tuần.
- (DATE ($ B $ 4, $ B $ 6,1) + SEQUENCE (6,7) -WEEKDAY (DATE ($ B $ 4, $ B $ 6,1), 2)) =$ B $ 6, DATE ($ B $ 4, $ B $ 6,1) + SEQUENCE (6,7) -WEEKDAY (DATE ($ B $ 4, $ B $ 6,1), 2) :phần này thể hiện rằng các ngày được sắp xếp tuần tự có cân nhắc đến ngày tháng và các ngày trong tuần.
- IF (MONTH (DATE ($ B $ 4, $ B $ 6,1) + SEQUENCE (6,7) -WEEKDAY (DATE ($ B $ 4, $ B $ 6,1), 2)) =$ B $ 6, DATE ($ B $ 4, $ B $ 6,1) + SEQUENCE (6,7) -WEEKDAY (DATE ($ B $ 4, $ B $ 6,1), 2), ””) :phần này đại diện cho toàn bộ các điều kiện cùng với tháng, ngày và các ngày trong tuần.
- Thứ ba, sau khi nhấn Enter , bạn sẽ nhận được kết quả mong muốn cho tháng đó.
- Thứ nhất, nếu bạn tiếp tục lặp lại các bước, bạn sẽ nhận được kết quả mong muốn cho mỗi tháng trong năm như hình ảnh bên dưới.
- Thứ năm, chúng tôi muốn chèn các ngày lễ vào lịch hàng năm hiện tại. Vì vậy, chúng tôi đã sắp xếp một tập dữ liệu như hình dưới đây trong trang tính mới.
- Thứ sáu, chuyển đến bảng Dữ liệu đã chọn> Trang chủ> Định dạng có điều kiện> Quy tắc mới tùy chọn.
- Thứ bảy, trong Quy tắc định dạng mới hộp thoại, hãy chọn hộp thoại Sử dụng công thức để xác định ô cần định dạng trong Chọn loại quy tắc và chèn quy tắc sau vào mục Định dạng giá trị trong đó công thức này là đúng và chọn màu mong muốn trong Xem trước và nhấn OK .
=ISNUMBER(VLOOKUP(B8,Holidays!$C:$C,1,0))
🔎 Công thức hoạt động như thế nào?
- VLOOKUP (B8, Ngày lễ! $ C:$ C, 1,0) : the Hàm VLOOKUP tìm kiếm một giá trị trong cột ngoài cùng bên trái của bảng, sau đó trả về một giá trị trong cùng một hàng từ cột bạn chỉ định. Đây, B6 (lookup_value đối số) được ánh xạ từ Ngày lễ! $ C:$ C ( table_array đối số) mảng. Tiếp theo, 1 ( col_index_num đối số) đại diện cho số cột của giá trị tra cứu. Cuối cùng, 0 ( range_lookup đối số) đề cập đến Đối sánh chính xác của giá trị tra cứu.
- ISNUMBER (VLOOKUP (B8, Ngày lễ! $ C:$ C, 1,0)): hàm ISNUMBER kiểm tra xem một giá trị có phải là số hay không và trả về TRUE hoặc FALSE.
- Thứ tám, sau khi nhấn Enter , bạn sẽ nhận được kết quả mong muốn cho tháng đó.
- Cuối cùng, nếu bạn tiếp tục lặp lại các bước, bạn sẽ nhận được kết quả mong muốn cho mỗi tháng trong năm như hình ảnh bên dưới.
Đọc thêm: Cách tạo lịch hàng năm trong Excel (với các bước dễ dàng)
Kết luận
Do đó, hãy làm theo các phương pháp được mô tả ở trên. Hi vọng với những cách làm lịch trên excel không cần mẫu. Chúng tôi sẽ rất vui khi biết liệu bạn có thể thực hiện nhiệm vụ theo bất kỳ cách nào khác hay không. Làm theo ExcelDemy trang web cho nhiều bài viết như thế này. Vui lòng thêm ý kiến, đề xuất hoặc câu hỏi trong phần bên dưới nếu bạn có bất kỳ sự nhầm lẫn hoặc gặp bất kỳ vấn đề nào. Chúng tôi sẽ cố gắng hết sức để giải quyết vấn đề hoặc làm việc với các đề xuất của bạn.
Các bài viết liên quan
- Cách Tạo Lịch Tương tác trong Excel (2 Cách Dễ dàng)
- Tạo Lịch Trống trong Excel (Tải xuống Mẫu Miễn phí)
- Cách Tạo Lịch Hàng tuần trong Excel (3 Cách Thích hợp)