Bỏ qua nội dung chính

Làm cách nào để bật lên lịch khi nhấp vào một ô cụ thể trong Excel?

Giả sử có một phạm vi cột trong trang tính mà bạn cần phải thường xuyên nhập và thay đổi ngày tháng bên trong, nhưng bạn sẽ cảm thấy nhàm chán khi nhập hoặc thay đổi ngày theo cách thủ công mỗi lần. Làm cách nào để nhập nhanh ngày mà không cần nhập thủ công vào phạm vi cột? Bài viết này nói về việc bật lên lịch khi nhấp vào các ô trong một phạm vi nhất định, sau đó tự động chèn ngày vào ô đã chọn sau khi chọn ngày trong lịch.


Bật lịch khi nhấp vào ô cụ thể có mã VBA

Vui lòng giải quyết vấn đề này như sau từng bước.

Chú thích: Phương pháp này chỉ có thể hoạt động trên Microsoft Excel 32-bit.

Bước 1: Tạo UserForm với lịch

Vui lòng tạo một UserForm chứa lịch bạn sẽ bật lên bằng cách nhấp vào một ô.

1. nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Biểu mẫu người dùng.

3. Sau đó a Biểu mẫu người dùngHộp công cụ cửa sổ bật lên, trong Hộp công cụ, nhấp vào bất kỳ một điều khiển nào và nhấp chuột phải, sau đó chọn Kiểm soát bổ sung từ menu chuột phải. Xem ảnh chụp màn hình:

4. bên trong Kiểm soát bổ sung hộp thoại, cuộn xuống để kiểm tra Kiểm soát Microsoft MonthView tùy chọn trong Kiểm soát có sẵn và sau đó bấm vào OK .

5. Sau đó, bạn có thể thấy Chế độ xem tháng nút được thêm vào Hộp công cụ cửa sổ. Vui lòng nhấp vào nút Chế độ xem tháng này, sau đó nhấp vào cửa sổ UserForm1 để tạo Lịch trong Biểu mẫu người dùng.

Chú thích: Bạn có thể điều chỉnh kích thước của cửa sổ UserForm cho phù hợp với lịch được chèn bằng cách kéo đường viền của UserForm.

6. Nhấp đúp vào lịch đã chèn trong UserForm1 và trong cửa sổ, vui lòng thay thế mã gốc bằng tập lệnh VBA sau.

VBA code: create a user form with calendar

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

Chú thích: Mã này có thể giúp chèn ngày vào ô đã chọn sau khi chọn ngày từ lịch.

Bước 2: Kích hoạt Lịch khi nhấp vào ô

Bây giờ bạn cần chỉ định các ô nhất định để bật lên lịch khi nhấp vào. Hãy làm như sau.

7. Nhấp đúp vào tên trang tính chứa các ô bạn sẽ nhấp để bật lên lịch ở bên trái Dự án , sau đó sao chép và dán mã VBA bên dưới vào cửa sổ Mã. Xem ảnh chụp màn hình:

VBA code: Click cell to pop up calendar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

Chú thích: trong mã, A2: A10 là các ô bạn sẽ nhấp vào để bật lên lịch. Vui lòng thay đổi phạm vi ô nếu bạn cần.

8. nhấn Khác + Q các phím đồng thời để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

Từ bây giờ, khi nhấp vào bất kỳ ô nào bên trong phạm vi được chỉ định trong trang tính hiện tại, một lịch sẽ bật lên như hình minh họa bên dưới. Và ngày sẽ được tự động chèn vào ô đã chọn sau khi chọn ngày từ lịch.


Bật lịch khi nhấp vào ô cụ thể có mã VBA

Phần này giới thiệu Bảng chọn ngày tiện ích của Kutools cho Excel. Sau khi kích hoạt tính năng này, nhấp vào một ô ngày tháng sẽ bật lên một lịch, bạn có thể dễ dàng thay thế ngày hiện tại bằng một ngày mới. Vui lòng làm theo các bước dưới đây để áp dụng tính năng này.

1. nhấp chuột Kutools > Nội dung > Bật công cụ chọn ngày.

2. Sau khi bật tính năng này, hãy nhấp vào ô ngày và biểu tượng lịch sẽ bật lên ngay bên phải ô.

3. Nhấp vào biểu tượng lịch để mở Bảng chọn ngày hộp thoại, sau đó bấm vào một ngày mới để thay thế ngày trong ô đã chọn.

Ghi chú:

  • Nút hoàn tác: Nhấp vào nút này để hoàn tác ngày thay thế;
  • Nút đóng: Nhấp vào nút này để đóng hộp thoại Bộ chọn ngày;
  • Tính năng này chỉ có thể áp dụng cho các ô chứa ngày tháng.

  Nếu bạn muốn dùng thử miễn phí (30 ngày) tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Các bài liên quan:

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 hữu ích. Cảm ơn !
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 hữu ích. Cảm ơn !
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 đầu12 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...

Mô tả


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!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations