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

วิธีเพิ่ม / ป้อนวันที่ / เวลาปัจจุบันในเซลล์โดยอัตโนมัติด้วยการดับเบิลคลิกใน Excel

หากคุณจำเป็นต้องแทรกวันที่หรือเวลาปัจจุบันในเวิร์กชีตบ่อยๆคุณสามารถลองใช้วิธีการในบทความนี้ บทความนี้จะช่วยให้คุณเพิ่มหรือป้อนวันที่หรือวันที่ปัจจุบันในเซลล์ช่วงที่ระบุโดยอัตโนมัติด้วยการดับเบิลคลิก

ดับเบิลคลิกเพื่อเพิ่ม / ป้อนวันที่หรือเวลาปัจจุบันโดยอัตโนมัติด้วยรหัส VBA


ดับเบิลคลิกเพื่อเพิ่ม / ป้อนวันที่หรือเวลาปัจจุบันโดยอัตโนมัติด้วยรหัส VBA


คุณสามารถเรียกใช้รหัส VBA ด้านล่างเพื่อเพิ่มวันที่หรือวันที่ปัจจุบันโดยอัตโนมัติในเซลล์ด้วยการดับเบิลคลิก กรุณาดำเนินการดังนี้

1. คลิกขวาที่แท็บแผ่นงานที่คุณต้องการแทรกวันที่ปัจจุบันลงในเซลล์ที่ระบุจากนั้นเลือก ดูรหัส จากเมนูคลิกขวา

2 ใน Microsoft Visual basic สำหรับแอปพลิเคชัน คัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่าง Code

รหัส VBA: ดับเบิลคลิกเพื่อเพิ่มวันที่ปัจจุบันลงในเซลล์

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

หมายเหตุ:

1. ในรหัส A1: B10 คือช่วงที่คุณจะเพิ่มวันที่ปัจจุบัน
2. หากคุณต้องการเพิ่มวันที่เวลาปัจจุบันลงในเซลล์โปรดแทนที่ วันที่ กับ ตอนนี้ () ในรหัส คุณสามารถเปลี่ยนได้ตามต้องการ

3 กด อื่น ๆ + Q พร้อมกันเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างและกลับไปที่แผ่นงาน

จากนี้ไปเมื่อดับเบิลคลิกที่เซลล์ใดก็ได้ในช่วงที่ระบุ A1: B10 วันที่หรือวันเวลาปัจจุบันจะถูกป้อนโดยอัตโนมัติ


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (28)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เราจะขยายสิ่งนี้เพื่อเพิ่มช่วงของเซลล์ได้อย่างไร ฉันเพิ่มเซลล์พิเศษเหล่านี้ที่มีช่วงของโค้ด : (Target, Range("C10:C19", "D10:D19", "E10:E19")) อย่างไรก็ตาม มันทำให้ฉันมีข้อผิดพลาดในการคอมไพล์ว่า "จำนวนอาร์กิวเมนต์ผิดหรือ การกำหนดคุณสมบัติที่ไม่ถูกต้อง" จากนั้นจะไฮไลต์บรรทัดแรกของโค้ดที่คุณระบุ "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" โปรดช่วยฉันด้วย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Joel ไม่รู้ว่าคุณกำลังมองหาวิธีแก้ปัญหาอยู่หรือเปล่า แต่คุณต้องเปลี่ยนรหัสของคุณ:

จาก: (เป้าหมาย, ช่วง("C10:C19", "D10:D19", "E10:E19"))
ถึง: (เป้าหมาย, ช่วง("C10:C19,D10:D19,E10:E19"))

สิ่งนี้จะทำเพื่อคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีนิค
เลยอยากขอคำแนะนำจากท่านในเรื่องนี้....
ฉันมีไฟล์ที่ชื่อว่า "แผ่นเพิ่มประสิทธิภาพ".... ในแผ่นงานนี้ ฉันต้องการแทรกเวลาจริงในเซลล์ที่เลือก เมื่อเซลล์ถูกคลิก... (ถ้าเป็นไปได้ ฉันต้องการเซลล์เหล่านี้ เมื่อเวลาผ่านไปดูเหมือนจะไม่เปลี่ยนแปลง .....เหมือนโดนล็อค)
ฉันขอขอบคุณเวลาและขอบคุณล่วงหน้า
Attila, ฮังการี
exyzee@gmail.com
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียนคุณอัตติลา
โปรดลองใช้ภาพหน้าจอด้านล่างเพื่อแทรกเวลาจริงลงในเซลล์ในช่วงที่กำหนดเมื่อมีการคลิก
(ฟังก์ชั่นล็อคเซลล์อัตโนมัติไม่สามารถทำได้ ขออภัยด้วย)

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = เท็จ
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A1:B10")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = วันที่
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสใช้งานได้จริง... ขอบคุณ...ฉันได้เพิ่มรหัสอื่นเพื่อป้องกันเซลล์หลังจากการป้อนข้อมูล ตอนนี้ปัญหาคือ เมื่อฉันป้อนข้อมูลและเซลล์ได้รับการป้องกัน และหากฉันคลิกสองครั้งที่เซลล์ที่ได้รับการป้องกัน โค้ดด้านบนจะผิดพลาดสำหรับทั้งแผ่นงาน มันใช้งานไม่ได้แล้ว ฉันต้องยกเลิกการป้องกันแผ่นงานเพื่อให้โค้ดใช้งานได้ ทางออกใด?

รหัสป้องกันที่ใช้อยู่ด้านล่าง:

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xRg เป็นช่วง
เกี่ยวกับข้อผิดพลาดต่อไป
ตั้งค่า xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), Target)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Target.Worksheet.Unprotect รหัสผ่าน:="123"
xRg.Locked = จริง
Target.Worksheet.Protect รหัสผ่าน:="123"
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียนคุณพอล
ฉันลองรหัสที่คุณให้มา แผ่นงานทั้งหมดจะได้รับการปกป้องทันทีที่ฉันป้อนข้อมูลลงในเซลล์ที่มีการป้องกันที่ระบุ
นอกจากนี้ เมื่อดับเบิลคลิกที่เซลล์ที่ได้รับการป้องกัน โค้ดในกรณีของฉันจะไม่เปลี่ยนแปลง
คุณช่วยอธิบายสิ่งที่คุณพยายามจะทำกับโค้ดได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขออภัยฉันเข้าใจประเด็นของคุณ (พลาดโค้ดด้านบน)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส entery ดับเบิลคลิกที่สร้างขึ้นคือ:


แผ่นงานย่อยส่วนตัว_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
ถ้าไม่ตัดกัน(Target, Range("A1:a1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = วันที่
End If

ถ้าไม่ตัดกัน(Target, Range("b1:b1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = เวลา
End If

ถ้าไม่ตัดกัน(Target, Range("g1:g1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = เวลา
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียนคุณพอล
โปรดลองใช้รหัส VBA ต่อไปนี้

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xRg เป็นช่วง
เกี่ยวกับข้อผิดพลาดต่อไป
ตั้งค่า xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), Target)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
Target.Worksheet.Unprotect รหัสผ่าน:="123"
xRg.Locked = จริง
Target.Worksheet.Protect รหัสผ่าน:="123"
ย่อยสิ้นสุด

แผ่นงานย่อยส่วนตัว_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
Application.EnableEvents = เท็จ
ActiveSheet.Unprotect รหัสผ่าน:="123"
ถ้าไม่ตัดกัน(Target, Range("A1:a1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = วันที่
End If
ถ้าไม่ตัดกัน(Target, Range("b1:b1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = เวลา
End If
ถ้าไม่ตัดกัน(Target, Range("g1:g1000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = เวลา
End If
ActiveSheet.Protect รหัสผ่าน:="123"
Application.EnableEvents = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคัดลอกและวางโค้ดที่อัปเดตช่วงแล้วใช้งานไม่ได้ :-(


แผ่นงานย่อยส่วนตัว_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
ถ้าไม่ตัดกัน(Target, Range("B4:B100")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = ตอนนี้ ()
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วันดี,
รหัสทำงานได้ดีในกรณีของฉัน คุณช่วยบอกฉันเวอร์ชัน Office ของคุณได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัสที่คุณให้ใช้งานได้ดีมาก ฉันแค่อยากรู้ว่ามีวิธีใดบ้างที่จะมีข้อความ "ดับเบิลคลิกเพื่อเพิ่มวันที่" ในเซลล์จนกว่าจะป้อนวันที่ ขอบคุณล่วงหน้า (ฉันกำลังพยายามทำให้เอกสารของฉันเป็นมิตรกับผู้ใช้มากที่สุด เพื่อไม่ให้เพื่อนร่วมงานสับสน)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัสด้านบนใช้งานได้ดีสำหรับฉัน ตอนนี้ฉันแค่สงสัยว่ามีวิธีให้ข้อความ "ดับเบิลคลิกเพื่อป้อนวันที่" ปรากฏในเซลล์จนกว่าจะป้อนวันที่หรือไม่ เป้าหมายของฉันคือการทำให้เอกสารเป็นมิตรกับผู้ใช้มากที่สุด ขอบคุณล่วงหน้า
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีทราวิส
เราไม่สามารถแก้ไขโค้ดเพื่อให้แสดงข้อความในเซลล์ได้โดยตรง แต่ในทางกลับกัน โค้ดที่ปรับให้เหมาะสมด้านล่างจะช่วยแสดงข้อความในความคิดเห็นของเซลล์ และความคิดเห็นจะถูกลบออกโดยอัตโนมัติหลังจากดับเบิลคลิกที่เซลล์เพื่อป้อนวันที่

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A1:B10")) ก็ไม่มีอะไรทั้งนั้น
Target.NoteText "ดับเบิลคลิกเพื่อเพิ่มวันที่"
End If
ย่อยสิ้นสุด

แผ่นงานย่อยส่วนตัว_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A1:B10")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
เป้าหมาย ความคิดเห็น ลบ
Target.Formula = วันที่
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,

ฉันคัดลอกและวางโค้ดด้านบนตามที่เขียนไว้ในสมุดงานเปล่าทุกประการ อย่างไรก็ตาม โค้ดนี้ใช้ไม่ได้กับฉัน ฉันดูแหล่งข้อมูลต่างๆ บนเว็บและไซต์ส่วนใหญ่มีรูปแบบที่คล้ายคลึงกันกับที่เขียนไว้ด้านบน ฉันคิดว่าอาจมีบางอย่างผิดปกติกับ VBA ของฉันหรือไม่ได้เปิดการตั้งค่าบางอย่างไว้ คำแนะนำใด ๆ ที่จะได้รับการชื่นชมมาก ฉันกำลังใช้งาน Excel for Office 365 MSO (16.0.11001.20097) 32 บิตบน Windows 10
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ชอบรหัสและใช้งานได้ดี ฉันจะสร้างมันขึ้นมาได้อย่างไรเมื่อฉันดับเบิลคลิกเพื่อรันโค้ด มันจะแสดงเวลาตามเวลาทหาร?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีดีแลน
ขอโทษที่ยังช่วยคุณไม่ได้ ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคิดว่าถ้าคุณเลือกรูปแบบเวลาทางทหารสำหรับเซลล์นั้นจากตัวเลือกรูปแบบ -> ตัวเลข -> เวลาในแผ่นงานของคุณที่น่าจะใช้ได้ ตัวอย่างเช่น มันให้ตัวเลือกเป็น 1:30 น. หรือ 13:30 น. ดังนั้นคุณก็แค่เลือก 13:30 น. และนั่นก็ควรทำ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคิดว่าถ้าคุณเพียงแค่เลือกรูปแบบ Military Time สำหรับเซลล์นั้นจากตัวเลือกรูปแบบ Number -> Time ที่ควรทำ ตัวอย่างเช่น คุณจะเลือก 13:30 น. แทนที่จะเป็น 1:30 น. จากนั้นควรแสดงเป็นเวลาทางทหาร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่มีใครรู้ว่ามีวิธีแทรกรหัสนี้ลงใน Excel Online หรือไม่? ฉันเคยใช้เวอร์ชันนี้กับเวอร์ชันเดสก์ท็อปแล้วและทำงานได้ดี แต่ตอนนี้เราได้ย้ายข้อมูลทุกอย่างไปยังแพลตฟอร์มออนไลน์แล้ว และวันที่และเวลาของฉันเมื่อดับเบิลคลิกหายไป และฉันไม่รู้ว่าจะดูหรือแก้ไขโค้ดได้อย่างไร ขอบคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดังนั้นฉันจึงแทรกโค้ดและใช้งานได้ดีกับแผ่นงานหลายแผ่นในสมุดงานของฉัน อย่างไรก็ตาม ในบางแผ่นงานก็หยุดทำงานทันทีหลังจากแถวบางแถว แม้ว่าฉันจะป้อนช่วงที่ถูกต้องแล้วก็ตาม ความคิดใด ๆ เกี่ยวกับสาเหตุที่อาจเกิดขึ้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่เป็นเพียงสิ่งที่ฉันกำลังมองหา - ซึ่งช่วยประหยัดเวลาได้มาก และฉันขอขอบคุณคำแนะนำที่เป็นลายลักษณ์อักษรอย่างดี ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัสช่วยอะไรฉันได้มาก ฉันจะจำกัดรหัสให้ทำงานได้อย่างไรเมื่อช่องว่างเปล่า หากมีวันที่ในเซลล์อยู่แล้ว ให้ดับเบิลคลิกจะไม่ทำอะไรเลย เกี่ยวกับ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีอาหมัด
ขอโทษสำหรับปัญหา. เมื่อต้องการเติมเฉพาะในเซลล์ว่างที่มีวันที่ด้วยการดับเบิลคลิก คุณสามารถใช้โค้ด VBA ต่อไปนี้เพื่อดำเนินการให้เสร็จสิ้น
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
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฟังก์ชันนี้ใช้การไม่ได้ การดับเบิลคลิกจะเป็นการเข้าสู่การแก้ไขเซลล์ด้วยตนเอง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีบ๊อบ
รหัสทำงานได้ดีในกรณีของฉัน ฉันต้องการทราบเฉพาะเจาะจงมากขึ้นเกี่ยวกับปัญหาของคุณ เช่น เวอร์ชัน Excel ของคุณ
และโค้ดนี้ใช้ได้เฉพาะกับเซลล์ที่คุณระบุเท่านั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีทุกคน,

ฉันพยายามใช้มาโครนั้นเพื่อใช้การประทับวันที่โดยดับเบิลคลิกที่คอลัมน์ E และมันใช้งานได้ แต่เมื่อฉันพยายามจำลองมาโครเพื่อทำเช่นเดียวกัน แต่สำหรับเวลาปัจจุบันในคอลัมน์ F มันไม่ทำงานตามที่คุณเห็นว่าฉันมี ข้อความแสดงข้อผิดพลาดที่ระบุ: ตรวจพบชื่อที่คลุมเครือ
เมื่อฉันพยายามเปลี่ยนส่วน Sub WorkSheet เป็นชื่ออื่นและดับเบิลคลิกในเซลล์ไม่มีอะไรเกิดขึ้น

ใครสามารถช่วยฉันได้บ้าง

รหัสของฉัน:


แผ่นงานย่อย_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
ถ้าไม่ตัดกัน(Target, Range("E1:E10000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = วันที่
End If
ย่อยสิ้นสุด

แผ่นงานย่อย_BeforeDoubleClick(ByVal กำหนดเป้าหมายเป็นช่วง ยกเลิกเป็นบูลีน)
ถ้าไม่ตัดกัน(Target, Range("F1:F10000")) ก็ไม่มีอะไรทั้งนั้น
ยกเลิก = จริง
Target.Formula = ตอนนี้ ()
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีหลุยส์
การจำลองแมโครจะทำให้เกิดสองขั้นตอนเดียวกันกับชื่อเดียวกันในหน้าต่างรหัสแผ่นงานเดียว Excel ไม่อนุญาตให้มีชื่อฟังก์ชันที่เหมือนกันตั้งแต่สองชื่อขึ้นไปในโมดูล ไม่แม้แต่ในอีเวนท์ มันนำไปสู่ความคลุมเครือ
หากคุณต้องการทำงานอื่นในเหตุการณ์เดียวกัน คุณต้องแก้ไขรหัสเดิมให้ตรงกับความต้องการของคุณ
รหัส VBA ต่อไปนี้สามารถช่วยคุณได้ กรุณาให้มันลอง
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
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ