จะบันทึกวันที่และเวลาโดยอัตโนมัติเมื่อเซลล์เปลี่ยนแปลงได้อย่างไร?
เป็นเรื่องง่ายที่เราจะแทรกวันที่และเวลาแบบคงที่ด้วยตนเองหรือแทรกวันที่แบบไดนามิกที่เปลี่ยนแปลงด้วยเวลาของระบบด้วยสูตร หากคุณต้องการบันทึกวันที่และเวลาโดยอัตโนมัติเมื่อคุณเปลี่ยนหรือป้อนค่าปัญหานี้อาจแตกต่างกันบ้างในการจัดการ แต่ในบทความนี้คุณสามารถแก้ปัญหานี้ได้โดยทำตามขั้นตอนต่อไปนี้
บันทึกวันที่และเวลาโดยอัตโนมัติเมื่อเซลล์เปลี่ยนแปลงด้วยรหัส VBA
บันทึกวันที่และเวลาโดยอัตโนมัติเมื่อเซลล์เปลี่ยนแปลงด้วยรหัส VBA
ตัวอย่างเช่นฉันมีช่วงของค่าและตอนนี้เมื่อฉันเปลี่ยนหรือพิมพ์ค่าใหม่ในคอลัมน์ B ฉันต้องการให้บันทึกวันที่และเวลาปัจจุบันในคอลัมน์ C โดยอัตโนมัติตามภาพหน้าจอต่อไปนี้:
คุณสามารถทำงานนี้ให้เสร็จโดยใช้รหัส VBA ต่อไปนี้ กรุณาทำตามนี้:
1. กด ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic for Applications
2. จากนั้นเลือกแผ่นงานที่คุณใช้จากด้านซ้าย นักสำรวจโครงการดับเบิลคลิกเพื่อเปิดไฟล์ โมดูลจากนั้นคัดลอกและวางโค้ด VBA ต่อไปนี้ลงในโมดูลเปล่า:
รหัส VBA: บันทึกวันที่และเวลาโดยอัตโนมัติเมื่อเซลล์เปลี่ยนแปลง
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. จากนั้นบันทึกและปิดรหัสนี้เพื่อกลับไปที่แผ่นงานตอนนี้เมื่อคุณเปลี่ยนค่าเซลล์หรือพิมพ์ข้อมูลใหม่ในคอลัมน์ B วันที่และเวลาจะถูกบันทึกโดยอัตโนมัติในคอลัมน์ C
หมายเหตุ:
1. ในโค้ดด้านบนคุณสามารถแก้ไข "BB” ไปยังคอลัมน์อื่น ๆ ที่คุณต้องการเปลี่ยนค่าเซลล์ในสคริปต์นี้: ตั้งค่า WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. ด้วยสิ่งนี้ xOffsetColumn = 1 คุณสามารถแทรกและอัปเดตวันที่และเวลาในคอลัมน์แรกถัดจากคอลัมน์ค่าที่เปลี่ยนแปลงของคุณคุณสามารถเปลี่ยนหมายเลข 1 เป็นตัวเลขอื่น ๆ เช่น 2,3,4,5 …ซึ่งหมายความว่าวันที่จะถูกแทรก คอลัมน์ที่สองสามสี่หรือห้านอกเหนือจากคอลัมน์ค่าที่คุณเปลี่ยนแปลง
3. เมื่อคุณลบค่าในคอลัมน์ที่เปลี่ยนแปลงวันที่และเวลาจะถูกลบออกด้วย
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!