Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Hướng dẫn này sẽ trình bày cách tạo lịch trong Excel không dùng mẫu. Trong cuộc sống hàng ngày, chúng ta đều dùng hạn chót cho công việc hoặc dự án nhất định, vì vậy việc duy trì lịch riêng rất quan trọng. Nó giúp bạn nhắc nhở giới hạn thời gian công việc. Hơn nữa, tạo lịch Excel riêng có thể cho bạn lợi thế thêm vì bạn có thể sửa đổi theo ý muốn. Vì vậy, việc tạo lịch trong Excel không dùng mẫu rất quan trọng.

Bạn có thể tải sổ làm việc thực hành tại đây.

2 ví dụ dễ dàng tạo lịch trong Excel không dùng mẫu

Chúng ta sẽ dùng 2 ví dụ để tạo lịch trong Excel không dùng mẫu. Nếu bạn làm theo đúng các bước, bạn sẽ tự học được cách tạo lịch trong Excel không dùng mẫu. Các bước là:

1. Tạo lịch tháng trong Excel

Trong trường hợp này, mục tiêu của chúng ta là tạo lịch tháng mà không dùng bất kỳ mẫu nào. Chúng ta 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:

  • Thứ nhất, nhấn tùy chọn Alt + F11 để mở cửa sổ VBA.
  • Sau đó, vào tùy chọn Insert > Module.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • 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

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Tiếp theo, nhập tháng và năm mong muốn vào hộp thoại lịch và nhấn OK.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Cuối cùng, sau khi nhấn nút RUN hoặc F5, bạn sẽ nhận được kết quả mong muốn.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Đọc thêm: Cách tạo lịch tháng trong Excel (3 cách hiệu quả)

2. Tạo lịch năm trong Excel

Chúng ta muốn tạo lịch năm trong Excel bằng cách làm theo các bước dưới đây.

Các bước:

  • Thứ nhất, sắp xếp tập dữ liệu như hình dưới.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • 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),"")

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

🔎 Cách công thức hoạt động?

  • (DATE($B$4,$B$6,1): phần này đại diện cho các ô được chọn mà hàm DATE sẽ được áp dụng.
  • WEEKDAY(DATE($B$4,$B$6,1),2): phần này xem xét cả ngày và ngày trong tuần cùng lúc.
  • (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 việc các ngày được tổ chức tuần tự với sự xem xét của ngày và 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ộ điều kiện cùng với tháng, ngày và ngày trong tuần.
  • Thứ ba, sau khi nhấn nút Enter, bạn sẽ nhận được kết quả mong muốn cho tháng đó.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Thứ tư, nếu bạn 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 dưới.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Thứ năm, chúng ta muốn chèn ngày lễ vào lịch năm hiện tại. Vì vậy, chúng ta đã sắp xếp tập dữ liệu như hình dưới trong trang tính mới.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Thứ sáu, vào bảng dữ liệu đã chọn > Home > Conditional Formatting > New Rules.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Thứ bảy, trong hộp thoại New Formatting Rule, chọn Use a formula to determine which cells to format (Sử dụng công thức xác định ô cần định dạng) trong tùy chọn Select a Rule Type và chèn quy tắc sau vào tùy chọn Format values where this formula is a true (Định dạng giá trị nơi công thức này đúng) và chọn màu mong muốn trong tùy chọn Preview (Xem trước) và nhấn OK.

=ISNUMBER(VLOOKUP(B8,Holidays!$C:$C,1,0))

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

🔎 Cách công thức hoạt động?

  • VLOOKUP(B8, Holidays!$C:$C,1,0): hàm VLOOKUP tìm kiếm giá trị trong cột trái nhất của bảng, sau đó trả về giá trị trong cùng hàng từ cột bạn chỉ định. Ở đây, B6 ( lookup_value tham số) được ánh xạ từ mảng Holidays!$C:$C (table_array tham số). Tiếp theo, 1 (col_index_num tham số) đại diện cho số cột của giá trị tra cứu. Cuối cùng, 0 (range_lookup tham số) đề cập đến Khớp chính xác (Exact match) của giá trị tra cứu.
  • ISNUMBER(VLOOKUP(B8, Holidays!$C:$C,1,0)): hàm ISNUMBER kiểm tra xem giá trị có phải là số hay không và trả về TRUE hoặc FALSE.
  • Thứ tám, sau khi nhấn nút Enter, bạn sẽ nhận được kết quả mong muốn cho tháng đó.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

  • Cuối cùng, nếu bạn 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 dưới.

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Tạo lịch Excel tùy chỉnh từ đầu: 2 hướng dẫn từng bước

Đọc thêm: Cách tạo lịch năm trong Excel (với các bước dễ dàng)

Kết luận

Từ nay về sau, hãy làm theo các phương pháp đã mô tả ở trên. Hy vọng các phương pháp này sẽ giúp bạn tạo lịch trong Excel không dùng mẫu. Chúng tôi sẽ rất vui nếu bạn có thể thực hiện nhiệm vụ theo cách khác. Hãy theo dõi trang web ExcelDemy để đọc thêm các bài viết như thế này. Vui lòng thêm bình luận, gợi ý hoặc câu hỏi ở phầ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 gợi ý của bạn.

Các bài viết liên quan