Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để chèn dấu ngày tháng vào một ô nếu được chọn hộp kiểm trong Excel?

Thông thường, bạn nhập dấu ngày tháng bằng cách sử dụng phím nóng trong Excel. Làm thế nào về việc chèn dấu ngày vào một ô bằng hộp kiểm trong Excel? Khi đánh dấu vào hộp kiểm, dấu thời gian sẽ tự động được chèn vào một ô đã chỉ định. Bài viết này sẽ giúp bạn giải quyết nó.

Chèn dấu ngày tháng vào một ô nếu được chọn hộp kiểm có mã VBA


Chèn dấu ngày tháng vào một ô nếu được chọn hộp kiểm có mã VBA


Phần này sẽ giới thiệu tập lệnh VBA để giúp bạn tự động chèn dấu ngày vào ô nếu được chọn hộp kiểm trong Excel. Hãy làm như sau.

1. Sau khi chèn một hộp kiểm, 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 > Mô-đun. Sau đó sao chép và dán mã VBA bên dưới vào cửa sổ Mô-đun.

Mã VBA: Chèn dấu ngày tháng vào một ô nếu được chọn hộp kiểm

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
With xChk.TopLeftCell.Offset(, 1)
    If xChk.Value = xlOff Then
        .Value = ""
    Else
       .Value = Date
    End If
End With
End Sub

3. nhấn Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

4. Nhấp chuột phải vào hộp kiểm và chọn Chỉ định vi mô từ menu chuột phải. Xem ảnh chụp màn hình:

5. bên trong Chỉ định Macro hộp thoại, chọn CheckBox_Date_Stamp trong Tên macro và sau đó bấm vào OK cái nút. Xem ảnh chụp màn hình:

Khi đánh dấu vào hộp kiểm, dấu ngày tháng sẽ tự động được chèn vào ô liền kề.


Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

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!
officetab dưới cùng
Nhận xét (22)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn, điều này rất hữu ích, tôi muốn lưu ý rằng tôi thấy hữu ích hơn nếu có con dấu ngày tháng ở bên trái của hộp kiểm. để làm điều này, bạn chỉ cần thay đổi độ lệch thành (, -1)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có cách nào để thực hiện việc này với ngày VÀ giờ không? Cảm ơn vì thông tin cả hai cách!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sub CheckBox_Date_Stamp () Dim xChk As CheckBox Đặt xChk = ActiveSheet.CheckBoxes (Application.Caller) Với xChk.TopLeftCell.Offset (, 1) Nếu xChk.Value = xlOff Thì .Value = "" Khác .Value = Ngày & "" & Thời gian kết thúc nếu kết thúc với kết thúc phụ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Vui lòng áp dụng mã VBA bên dưới để thêm ngày và giờ.

Sub CheckBox_Date_Stamp ()
Dim xChk As CheckBox
Đặt xChk = ActiveSheet.CheckBoxes (Application.Caller)
Với xChk.TopLeftCell.Offset (, 1)
Nếu xChk.Value = xlOff Thì
.Value = ""
Khác
.Value = Now ()
Cuối Nếu
Kết thúc với
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
HI Tôi đã thử công thức này và nó chỉ hoạt động cho A1 và B1 khi tôi áp dụng macro cho hộp kiểm trong A1. Tuy nhiên, khi tôi áp dụng macro cho hộp kiểm trong A2, không có gì xảy ra trong B2. Ngoài ra, công thức sẽ được thay đổi như thế nào nếu tôi muốn sử dụng điều này cho danh sách kiểm tra? Nếu cột A là hộp kiểm và cột C là ngày hoàn thành.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào :) bạn có thể sao chép ô có hộp kiểm trong A1 sang phần còn lại của cột. hoặc chỉ định macro riêng lẻ cho từng hộp kiểm
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Vui lòng chỉ định macro riêng lẻ cho từng hộp kiểm.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi sao chép và dán mã VBA chính xác, nhưng trên bảng tính của tôi, ngày xuất hiện trong ô phía trên và bên phải của cột hộp kiểm, không phải trong ô trực tiếp bên phải. ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cũng đang gặp vấn đề tương tự. "HELP! Tôi cần ai đó TRỢ GIÚP! Không chỉ ai TRỢ GIÚP! Bạn biết đấy tôi cần ai đó GIÚP ĐỠ!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Mã hoạt động tốt trong trường hợp của tôi. Sau khi chọn hộp kiểm, ngày sẽ xuất hiện trong ô ngay bên phải. Bạn có cung cấp ảnh chụp màn hình trường hợp của mình không. Và bạn sử dụng phiên bản Office nào. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã gặp vấn đề tương tự với dấu ngày và giờ xuất hiện trong ô phía trên ô dự định (sử dụng Excel 2007). Tôi đã tiếp tục và thay đổi công thức "offset" để nó đi qua một ô VÀ xuống một ô và bây giờ con tem đang xuất hiện ở nơi tôi muốn: Với xChk.TopLeftCell.Offset (1, 1)
Tôi đang cập nhật một trang tính mà người khác đã tạo và không tạo hộp kiểm, nhưng nó có thể liên quan đến vị trí bên trong ô mà hộp kiểm được đặt. Tôi nhận được các kết quả khác nhau khi tôi xếp hộp kiểm ở dưới cùng của ô.

Hy vọng rằng sẽ giúp!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là những gì tôi đã làm để khắc phục sự cố đó

Sub CheckBox_Date_Stamp ()
Dim xChk As CheckBox
Đặt xChk = ActiveSheet.CheckBoxes (Application.Caller)
Với xChk.TopLeftCell.Offset (1, 1)
Nếu xChk.Value = xlOff Thì
.Value = ""
Khác
.Value = Now ()
Cuối Nếu
Kết thúc với
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào! Cảm ơn vì mã. Nó hoạt động hoàn hảo với một tinh chỉnh lil trên offset. Tuy nhiên, tôi đang làm việc trên một trang tính có nhiều hàng (~ 500 + hàng) chứa nhiều hộp kiểm và kích thước tệp đã tăng lên đáng kể. Có cách nào để giảm kích thước? Bất kỳ cách thay thế để làm điều này?

Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tốt da
Nếu có nhiều hộp kiểm trong các hàng và bạn muốn thực hiện trên tất cả các hộp kiểm cùng một lúc, mã VBA dưới đây có thể giúp bạn.
Vui lòng sao chép mã vào cửa sổ Mã mô-đun, quay lại trang tính và tạo một nút (chẳng hạn như Nút (Điều khiển biểu mẫu)), gán macro SetAllChkChange () cho nút, sau đó nhấp vào nút để chạy mã.

Bây giờ tất cả các hộp kiểm trong các hàng của trang tính của bạn đã được kích hoạt. Bạn có thể kiểm tra bất kỳ một trong số chúng để chèn dấu ngày vào ô liền kề của nó.

Sub SetAllChkChange ()
Dim xChks
Dim xChk As CheckBox
Dim xI As Long
On Error Resume Next
Xóa xArrChk
Đặt xChks = ActiveSheet.CheckBoxes
ReDim Bảo tồn xArrChk (1 Đến xChks.count)
xI = 1
Đối với mỗi xChk Trong xChks
xChk.Select
Selection.OnAction = "objChkChange"
Sau
End Sub


Mục tiêu phụChkChange ()
Dim xChk As CheckBox
Đặt xChk = ActiveSheet.CheckBoxes (Application.Caller)
Với xChk.TopLeftCell.Offset (, 1)
Nếu xChk.Value = xlOff Thì
.Value = ""
Khác
.Value = Ngày
Cuối Nếu
Kết thúc với
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để tôi có được dấu ngày tháng hiển thị trong hộp kiểm của tôi?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào! Tôi dường như không thể tìm ra cách mà trong dấu dữ liệu sẽ ở bên cạnh hộp kiểm. tôi đã thử thay đổi giá trị bù từ 0, 1 và -1. Bạn có thể giúp tôi với điều này? Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, giả sử hộp kiểm của bạn ở A2 và muốn xuất ra dấu dữ liệu ở phía bên phải của hộp kiểm (trong trường hợp này là B2), vui lòng thay đổi giá trị Offset thành Offset (1, 1).
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã sử dụng VBA cho dấu thời gian hộp kiểm, nhưng hai ô đầu tiên không hoạt động chính xác. Hộp kiểm đầu tiên của tôi là ở A2, khi tôi đánh dấu vào hộp, thời gian được đăng ở B1. Làm cách nào để sửa lỗi này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi Steve,
Vui lòng thay thế dòng thứ tư trong mã bằng With xChk.TopLeftCell.Offset (1, 1).
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cám ơn rất nhiều!! Xuất sắc! Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, làm cách nào để tôi có thể lặp lại mã để bao gồm tất cả các hộp kiểm trong cột?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Nếu có nhiều hộp kiểm trong các hàng và bạn muốn thực hiện trên tất cả các hộp kiểm cùng một lúc, mã VBA dưới đây có thể giúp bạn.
Vui lòng sao chép các mã bên dưới vào cửa sổ Mã mô-đun, quay lại trang tính và tạo một nút (chẳng hạn như Nút (Điều khiển biểu mẫu)), gán macro SetAllChkChange () vào nút, sau đó nhấp vào nút để chạy mã.

Bây giờ tất cả các hộp kiểm trong các hàng của trang tính của bạn đã được kích hoạt. Bạn có thể kiểm tra bất kỳ một trong số chúng để chèn dấu ngày vào ô liền kề của nó.

Sub SetAllChkChange ()
'Cập nhật Extendoffice 20211130
Dim xChks
Dim xChk As CheckBox
On Error Resume Next
Đặt xChks = ActiveSheet.CheckBoxes
Đối với mỗi xChk Trong xChks
xChk.Select
Selection.OnAction = "objChkChange"
Sau
End Sub

Mục tiêu phụChkChange ()
Dim xChk As CheckBox
Đặt xChk = ActiveSheet.CheckBoxes (Application.Caller)
Với xChk.TopLeftCell.Offset (, 1)
Nếu xChk.Value = xlOff Thì
.Value = ""
Khác
.Value = Ngày
Cuối Nếu
Kết thúc với
End Sub
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất