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

Làm cách nào để tự động thêm / nhập ngày / giờ hiện tại vào một ô bằng cách nhấp đúp trong Excel?

Nếu bạn cần thường xuyên chèn ngày hoặc giờ hiện tại vào trang tính, bạn có thể thử phương pháp trong bài viết này. Bài viết này sẽ giúp bạn tự động thêm hoặc nhập ngày hiện tại hoặc mốc ngày trong một ô phạm vi được chỉ định chỉ bằng cách nhấp đúp.

Nhấp đúp để tự động thêm / nhập ngày hoặc giờ hiện tại bằng mã VBA


Nhấp đúp để tự động thêm / nhập ngày hoặc giờ hiện tại bằng mã VBA

Bạn có thể chạy mã VBA bên dưới để tự động thêm ngày hoặc giờ hiện tại vào một ô bằng cách nhấp đúp. Hãy làm như sau.

1. Nhấp chuột phải vào tab Trang tính mà bạn muốn chèn ngày hiện tại vào các ô được chỉ định, sau đó chọn Mã Chế độ xem từ menu chuột phải.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã VBA bên dưới vào cửa sổ Mã.

Mã VBA: Nhấp đúp để thêm ngày hiện tại vào một ô

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub

Chú ý:

1. Trong mã, A1: B10 là phạm vi bạn sẽ thêm ngày hiện tại vào.
2. Nếu bạn cần thêm ngày giờ hiện tại vào ô, vui lòng thay thế Ngày với Hiện nay() trong mã. Bạn có thể thay đổi chúng khi bạn cần.

3. 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ổ và quay lại trang tính.

Từ bây giờ, khi nhấp đúp vào bất kỳ ô nào trong phạm vi được chỉ định A1: B10. Ngày hoặc giờ hiện tại sẽ được nhập tự động.


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 ...
  • Thanh siêu công thức (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-2021 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 đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại 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 (28)
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
Làm cách nào để chúng tôi mở rộng điều này để thêm nhiều phạm vi ô hơn? Tôi đã thêm một ô bổ sung này nằm trong phạm vi mã: (Mục tiêu, Phạm vi ("C10: C19", "D10: D19", "E10: E19")) tuy nhiên, nó gây ra cho tôi lỗi biên dịch nói rằng "sai số đối số hoặc chuyển nhượng thuộc tính không hợp lệ "và sau đó nó đánh dấu dòng mã đầu tiên bạn đã cung cấp" Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) "Vui lòng hỗ trợ 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
Joel, không biết bạn có còn đang tìm giải pháp hay không, nhưng bạn cần thay đổi mã của mình:

Từ: (Mục tiêu, Phạm vi ("C10: C19", "D10: D19", "E10: E19"))
Tới: (Mục tiêu, Phạm vi ("C10: C19, D10: D19, E10: E19"))

Điều này sẽ làm điều đó cho 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 nick,
Tôi muốn nhận được một số lời khuyên từ bạn về chủ đề này ....
Tôi có một tệp mà tôi gọi là "bảng năng suất" .... Trên trang tính này, tôi muốn chèn thời gian thực vào các ô đã chọn, khi ô được nhấp vào ... (Nếu có thể, tôi muốn các ô này sau thời gian dường như trở nên không thể thay đổi ..... một cái gì đó giống như bị khóa.)
Tôi đánh giá cao thời gian của bạn và cảm ơn trước
Attilla, Hungary
exyzee@gmail.com
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Attila thân mến,
Vui lòng thử ảnh chụp màn hình bên dưới để chèn thời gian thực tế vào ô trong một phạm vi xác thực khi nó được nhấp vào.
(Không thể sử dụng chức năng tự động khóa ô, xin lỗi về điều đó)

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Application.ScreenUpdating = Sai
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("A1: B10")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Ngày
Cuối Nếu
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
Mã thực sự hoạt động ... Cảm ơn bạn ... Tôi đã thêm một mã khác để bảo vệ ô sau khi nhập dữ liệu. Bây giờ vấn đề là, khi tôi nhập dữ liệu và ô được bảo vệ và do nhầm lẫn nếu tôi nhấp đúp vào ô được bảo vệ, thì mã trên sẽ bị sai đối với toàn bộ trang tính. Nó không hoạt động sau đó. Tôi phải bỏ bảo vệ trang tính để làm cho mã hoạt động. Bất kỳ giải pháp?

Mã bảo vệ được sử dụng dưới đây:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg theo phạm vi
On Error Resume Next
Đặt xRg = Intersect (Phạm vi ("A1: a1000, b1: b1000, G1: G1000"), Mục tiêu)
Nếu xRg không có gì thì thoát Sub
Mật khẩu Target.Worksheet.Unprotect: = "123"
xRg.Locked = Đúng
Target.Worksheet.Protect Password: = "123"
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
Paul thân mến,
Tôi thử mã bạn cung cấp. Toàn bộ trang tính sẽ được bảo vệ ngay lập tức khi tôi nhập dữ liệu vào bất kỳ ô nào được bảo vệ đã chỉ định.
Ngoài ra, khi nhấp đúp vào ô được bảo vệ, không có gì thay đổi đối với mã trong trường hợp của tôi.
Bạn có giải thích chính xác những gì bạn đang cố gắng thực hiện với mã không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi, tôi hiểu ý bạn. (bỏ lỡ đoạn mã trên)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã truy vấn nhấp đúp được tạo là:


Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("A1: a1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Ngày
Cuối Nếu

Nếu Không Giao nhau (Mục tiêu, Phạm vi ("b1: b1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Thời gian
Cuối Nếu

Nếu Không Giao nhau (Mục tiêu, Phạm vi ("g1: g1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Thời gian
Cuối Nếu
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
Paul thân mến,
Vui lòng thử mã VBA sau.

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg theo phạm vi
On Error Resume Next
Đặt xRg = Intersect (Phạm vi ("A1: a1000, b1: b1000, G1: G1000"), Mục tiêu)
Nếu xRg không có gì thì thoát Sub
Mật khẩu Target.Worksheet.Unprotect: = "123"
xRg.Locked = Đúng
Target.Worksheet.Protect Password: = "123"
End Sub

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = Sai
ActiveSheet.Unprotect Password: = "123"
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("A1: a1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Ngày
Cuối Nếu
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("b1: b1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Thời gian
Cuối Nếu
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("g1: g1000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Thời gian
Cuối Nếu
Mật khẩu ActiveSheet.Protect: = "123"
Ứng dụng.EnableEvents = True
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
Tôi đã sao chép và dán mã cập nhật phạm vi và nó không hoạt động :-(


Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("B4: B100")) Thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Now ()
Cuối Nếu
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
Good day,
Mã hoạt động tốt trong trường hợp của tôi. Bạn có thể cho tôi biết phiên bản Office của bạn không?
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, mã bạn cung cấp hoạt động tuyệt vời. Tôi chỉ tò mò nếu có bất kỳ cách nào để có dòng chữ "nhấp đúp để thêm ngày" trong ô cho đến khi ngày được nhập. Cảm ơn bạn trước (Tôi đang cố gắng làm cho tài liệu của mình thân thiện với người dùng nhất có thể để không gây nhầm lẫn cho đồng nghiệp 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
Xin chào, mã trên làm việc tuyệt vời cho tôi. Bây giờ tôi chỉ tự hỏi liệu có cách nào để dòng chữ "Nhấp đúp để nhập ngày" xuất hiện trong ô cho đến khi ngày được nhập không. Mục tiêu của tôi là làm cho tài liệu càng thân thiện với người dùng càng tốt. Cảm ơn bạn trước
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 Travis,
Chúng tôi không thể sửa đổi mã để hiển thị văn bản trong ô một cách trực tiếp. Nhưng cách khác, mã được tối ưu hóa bên dưới sẽ giúp hiển thị văn bản trong nhận xét ô và nhận xét sẽ tự động bị xóa sau khi nhấp đúp vào ô để nhập ngày.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("A1: B10")) thì Không có gì
Target.NoteText "nhấp đúp để thêm ngày"
Cuối Nếu
End Sub

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("A1: B10")) thì Không có gì
Hủy bỏ = Đúng
Mục tiêu.Nhận xét.Xóa
Target.Formula = Ngày
Cuối Nếu
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
Chào bạn,

Tôi đã sao chép và dán đoạn mã trên chính xác như được viết vào một sổ làm việc trống, tuy nhiên, nó không hoạt động đối với tôi. Tôi đã xem các nguồn khác nhau trên web và hầu hết các trang web đều có định dạng tương tự như những gì được viết ở trên. Tôi nghĩ có lẽ có điều gì đó không ổn với VBA của tôi hoặc một số cài đặt chưa được bật. Bât cư lơi khuyên nao cung se được đanh gia cao. Tôi đang chạy Excel cho Office 365 MSO (16.0.11001.20097) 32-bit trên Windows 10.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Yêu thích mã và nó hoạt động tuyệt vời. Làm thế nào tôi có thể làm cho nó như vậy khi tôi nhấp đúp để thực thi mã hiển thị thời gian của nó trong thời gian quân độ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 Dylan,
Xin lỗi không thể giúp bạn với điều đó được nêu ra. Cảm ơn bình luận của 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 nghĩ rằng nếu bạn chọn định dạng giờ quân sự cho ô đó từ các tùy chọn Định dạng -> Số -> Thời gian trong trang tính của bạn sẽ hoạt động. Ví dụ: nó cung cấp tùy chọn 1:30 chiều hoặc 13:30, vì vậy bạn chỉ cần chọn 13:30 và điều đó sẽ thực hiện được.
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ẽ nghĩ rằng nếu bạn chỉ chọn định dạng Giờ Quân sự cho ô đó từ tùy chọn Định dạng Số -> Thời gian sẽ làm được điều đó. Ví dụ: bạn sẽ chọn 13:30 thay vì 1:30 chiều và sau đó nó sẽ hiển thị theo giờ quân sự.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có ai biết có cách nào để chèn mã này vào Excel Online không? Tôi đã sử dụng nó với phiên bản dành cho máy tính để bàn và nó hoạt động tốt nhưng bây giờ chúng tôi đã chuyển mọi thứ sang nền tảng trực tuyến và dấu ngày giờ của tôi khi nhấp đúp đã biến mất và tôi không thể tìm ra cách xem hoặc chỉnh sửa mã. Thanks.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Vì vậy, tôi đã chèn mã và nó hoạt động tốt trên một số trang tính trong sổ làm việc của tôi, tuy nhiên trên một số trang tính, nó đột nhiên ngừng hoạt động sau một hàng nhất định mặc dù tôi đã nhập đúng phạm vi. Bất kỳ suy nghĩ về lý do tại sao điều này có thể xảy ra.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây chỉ là những gì tôi đang tìm kiếm - điều này tiết kiệm rất nhiều thời gian và tôi đánh giá cao các hướng dẫn được viết tốt. 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, mã đã làm rất nhiều cho tôi, Làm cách nào để hạn chế mã chỉ hoạt động nếu trường trống. Nếu một ngày đã có trong ô, hãy nhấp đúp chuột vào sẽ không làm gì cả, trân trọng
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 Ahmad,
Xin lỗi vì những rắc rối. Để chỉ điền vào các ô trống có ngày tháng bằng cách nhấp đúp, bạn có thể áp dụng mã VBA sau để hoàn thành việc đó.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20220609
    If Not Intersect(Target, Range("B1:C20")) Is Nothing Then
        If Target.Value = "" Then
            Cancel = True
            Target.Formula = Date
        End If
    End If
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
Chức năng này không hoạt động. Nhấp đúp chỉ cần vào chỉnh sửa thủ công ô.
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 Bob,
Mã hoạt động tốt trong trường hợp của tôi. Tôi cần biết cụ thể hơn về vấn đề của bạn, chẳng hạn như phiên bản Excel của bạn.
Và mã chỉ hoạt động trên các ô bạn đã chỉ định.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi all,

Tôi cố gắng sử dụng macro đó để sử dụng dấu ngày nhấp đúp vào cột E và nó đang hoạt động nhưng khi tôi cố gắng sao chép macro để thực hiện tương tự nhưng đối với thời điểm hiện tại trên cột F, nó không hoạt động như bạn có thể xem đính kèm. một thông báo lỗi cho biết: Đã phát hiện tên không rõ ràng.
Khi tôi cố gắng thay đổi phần Sub WorkSheet cho một tên khác và nhấp đúp vào các ô thì không có gì xảy ra.

Ai đó có thể giúp tôi về điều đó?

Mã của tôi :


Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Nếu không giao nhau (Mục tiêu, Phạm vi ("E1: E10000")) thì không có gì
Hủy bỏ = Đúng
Target.Formula = Ngày
Cuối Nếu
End Sub

Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Nếu Không Giao nhau (Mục tiêu, Phạm vi ("F1: F10000")) thì Không có gì
Hủy bỏ = Đúng
Target.Formula = Now ()
Cuối Nếu
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
Chào Louis,
Việc sao chép macro sẽ tạo ra hai thủ tục giống nhau có cùng tên trong một cửa sổ mã trang tính. Excel không cho phép hai hoặc nhiều tên hàm giống nhau trong một mô-đun. Thậm chí không phải trong Sự kiện. Nó dẫn đến sự mơ hồ.
Nếu bạn muốn thực hiện một nhiệm vụ khác trên cùng một sự kiện, bạn cần sửa đổi mã gốc để đáp ứng nhu cầu của mình.
Mã VBA sau đây có thể giúp bạn. Hãy thử nó.
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20221025
    If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
    If Not Intersect(Target, Range("F1:F10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
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

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL