Làm thế nào để tạo lịch hàng tháng / hàng năm trong Excel? Tác giả: Mặt trời Sửa đổi lần cuối: 2024-08-15 Trong một số trường hợp, bạn cần tạo một lịch tháng hoặc năm cụ thể trong Excel, làm thế nào bạn có thể nhanh chóng giải quyết nó? Hướng dẫn này giới thiệu các thủ thuật để tạo nhanh lịch hàng tháng hoặc hàng năm trong Excel.
Tạo lịch hàng tháng hoặc hàng năm bằng Mẫu Excel
Tạo lịch hàng tháng bằng VBA
Dễ dàng tạo lịch hàng tháng hoặc hàng năm bằng Lịch vạn niên
Tạo lịch hàng tháng hoặc hàng năm bằng Mẫu Excel Trong Excel, bạn có thể sử dụng mẫu lịch để tạo lịch hàng tháng hoặc hàng năm.
1. Trong Excel 2010/2013, hãy nhấp vào Tập tin > Mới , trong Excel 2007, bấm Nút văn phòng > Mới , sau đó trong phần bên phải của cửa sổ bật lên, hãy nhập lịch vào công cụ tìm kiếm. Xem ảnh chụp màn hình:
Trong Excel 2010/2013
Trong Excel 2007
2. nhấn đăng ký hạng mục thi , thì nhiều loại lịch sẽ được liệt kê trong cửa sổ. Chọn một loại lịch bạn cần và nhấp vào Tải xuống (hoặc Tạo) trong ngăn bên phải. Xem ảnh chụp màn hình:
Bây giờ lịch được tạo trong một sổ làm việc mới. Xem ảnh chụp màn hình:
Tạo lịch hàng tháng bằng VBA Đôi khi, bạn cần tạo lịch một tháng cho tháng được chỉ định, chẳng hạn như tháng 2015 năm XNUMX. Có thể hơi khó để tìm một mẫu lịch như vậy với phương pháp trên. Ở đây tôi giới thiệu một mã VBA để giúp bạn tạo một lịch cụ thể hàng tháng.
Tuyệt vời! Sử dụng các tab hiệu quả trong Excel như Chrome, Edge, Firefox và Safari! Tiết kiệm 50% thời gian của bạn và giảm hàng ngàn lần nhấp chuột cho bạn mỗi ngày!
1. nhấn Alt + F11 chìa khóa để mở Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun , sau đó sao chép và dán mã VBA bên dưới vào cửa sổ.
VBA: Tạo lịch hàng tháng.
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 SubVBA đến từ web này https://support.microsoft.com/en-us/kb/150774
2. nhấn F5 phím hoặc chạy và một hộp thoại hiện ra để nhắc bạn nhập tháng cụ thể mà bạn cần để tạo lịch, xem ảnh chụp màn hình:
3. nhấp chuột OK . Bây giờ lịch tháng 2015 năm XNUMX được tạo trong trang tính đang hoạt động.
Nhưng trong các phương pháp trên, có một số hạn chế, ví dụ, nếu bạn muốn tạo lịch từ tháng XNUMX đến tháng XNUMX cùng một lúc, bạn cần tạo lịch năm lần với hai phương pháp trên. Bây giờ tôi giới thiệu một tiện ích hữu ích để giải quyết nó một cách nhanh chóng và dễ dàng
Dễ dàng tạo lịch hàng tháng hoặc hàng năm bằng Lịch vạn niên Lịch vạn niên là một trong những tiện ích mạnh mẽ trong Kutools cho Excel và nó có thể giúp bạn nhanh chóng tạo lịch hàng tháng hoặc hàng năm trong Excel cùng một lúc.
1. nhấp chuột Kutools Plus > Bảng > Lịch vạn niên .
2. Trong hộp thoại bật lên, chỉ định khoảng thời gian tháng bạn muốn tạo lịch và nhấp vào Tạo . Xem ảnh chụp màn hình:
Sau đó, một sổ làm việc mới được tạo với năm trang tính lịch. Xem ảnh chụp màn hình:
Mẹo:
Nếu bạn chỉ muốn tạo một lịch tháng cụ thể, chỉ cần chọn cùng một tháng cả trong hộp văn bản Từ và Đến trong hộp thoại.
Bấm vào đây để biết thêm về Lịch vạn niên
Công cụ năng suất văn phòng tốt nhất 🤖 Trợ lý AI của Kutools : Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh | Tạo mã | Tạo công thức tùy chỉnh | Phân tích dữ liệu và tạo biểu đồ | Gọi các hàm Kutools... Các tính năng phổ biến : Tìm, đánh dấu hoặc xác định các bản sao | Xóa hàng trống | Kết hợp các cột hoặc ô mà không làm mất dữ liệu | Vòng không có công thức ... Siêu tra cứu : Nhiều tiêu chí VLookup | VLookup Nhiều Giá Trị | VLookup trên nhiều trang tính | Tra cứu mờ .... Danh sách thả xuống nâng cao : Tạo nhanh danh sách thả xuống | Danh sách thả xuống phụ thuộc | Danh sách thả xuống nhiều lựa chọn .... Trình quản lý cột : Thêm một số cột cụ thể | Di chuyển cột | Chuyển đổi trạng thái hiển thị của các cột ẩn | So sánh dãy và cột ... Các tính năng nổi bật : Tiêu điểm lưới | Chế độ xem thiết kế | Thanh công thức lớn | Trình quản lý sổ làm việc & trang tính | Thư viện tài nguyên (Văn bản tự động) | Bảng chọn ngày | Kết hợp các bảng tính | Mã hóa/Giải mã ô | Gửi email theo danh sách | Siêu lọc | Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ... 15 bộ công cụ hàng đầu : 12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...) | 50 + Biểu đồ Các loại (Biểu đồ Gantt,...) | 40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...) | 19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...) | 12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...) | 7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...) | ... và nhiều hơn nữa
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Thêm chi tiết về Kutools cho Excel... Tải xuống miễn phí... Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint , Publisher, Access, Visio và Project. Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới. Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày! Thông tin chi tiết về Office Tab... Tải xuống miễn phí...