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

วิธีแทรกการประทับเวลาปัจจุบันเมื่อข้อมูลในเซลล์อื่นเปลี่ยนแปลงใน Excel

สมมติว่าคุณได้รับแผ่นงานซึ่งต้องการให้คุณแก้ไขข้อมูลในคอลัมน์ใดคอลัมน์หนึ่ง และหลังจากแก้ไขแผ่นงานแล้วคุณจะต้องแทรกการประทับเวลาที่แก้ไขเพื่อให้ผู้อื่นทราบว่าเซลล์ใดถูกเปลี่ยนแปลง จะจัดการกับมันอย่างไร? บทความนี้จะแสดงวิธีการแทรกการประทับเวลาปัจจุบันเมื่อข้อมูลในเซลล์อื่นเปลี่ยนแปลงใน Excel ดังภาพด้านล่างที่แสดง

แทรกการประทับเวลาปัจจุบันเมื่อข้อมูลในเซลล์อื่นเปลี่ยนแปลงด้วยรหัส VBA


แทรกการประทับเวลาปัจจุบันเมื่อข้อมูลในเซลล์อื่นเปลี่ยนแปลงด้วยรหัส VBA

ตามที่แสดงภาพหน้าจอด้านล่างคุณจะต้องเติมการประทับเวลาในคอลัมน์ E หากเซลล์ที่เกี่ยวข้องในคอลัมน์ C มีการเปลี่ยนแปลง กรุณาดำเนินการดังนี้

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

2. จากนั้นคัดลอกและวางโค้ด VBA ด้านล่างลงในไฟล์ รหัส หน้าต่างของ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง. ดูภาพหน้าจอ:

รหัส VBA: แทรกการประทับเวลาปัจจุบันเมื่อข้อมูลในเซลล์อื่นเปลี่ยนแปลง

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20180830
Dim xCellColumn As Integer
Dim xTimeColumn As Integer
Dim xRow, xCol As Integer
Dim xDPRg, xRg As Range
xCellColumn = 3
xTimeColumn = 5
xRow = Target.Row
xCol = Target.Column
If Target.Text <> "" Then
    If xCol = xCellColumn Then
       Cells(xRow, xTimeColumn) = Now()
    Else
        On Error Resume Next
        Set xDPRg = Target.Dependents
        For Each xRg In xDPRg
            If xRg.Column = xCellColumn Then
                Cells(xRg.Row, xTimeColumn) = Now()
            End If
        Next
    End If
End If
End Sub

หมายเหตุ: ในรหัสหมายเลข 3 หมายความว่าคุณกำลังจะแก้ไขข้อมูลในคอลัมน์ C และ 5 ระบุว่าการประทับเวลาจะถูกเติมลงในคอลัมน์ E โปรดเปลี่ยนตามความต้องการของคุณ

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

จากนี้ไปเมื่อเปลี่ยนข้อมูลในคอลัมน์ C การประทับเวลาจะถูกเติมลงในเซลล์ที่เกี่ยวข้องในคอลัมน์ E ดังภาพด้านล่างที่แสดง

เคล็ดลับ เลือกวันที่. แทรกวันที่ ประโยชน์ของ Kutools สำหรับ Excel ช่วยให้คุณสามารถแทรกวันที่พร้อมรูปแบบวันที่ที่ระบุลงในเซลล์ที่เลือกได้อย่างรวดเร็ว
ดาวน์โหลดและทดลองใช้เลย! (เส้นทางฟรี 30 วัน)


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


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (56)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี สูตรข้างต้นจะมีประโยชน์สำหรับการอัปเดตการประทับเวลาเซลล์เดียว เช่น ถ้าเราป้อนข้อมูลใดๆ ในเซลล์ที่ 3 การประทับเวลาจะอัปเดตโดยอัตโนมัติในเซลล์ที่ 5 ขอคำแนะนำการอัพเดทหลายเซลล์ครับ ตัวอย่าง: ถ้าเราป้อนข้อมูลใด ๆ ในเซลล์ที่ 3 เวลาจะอัปเดตโดยอัตโนมัติในเซลล์ที่ 5 และหากเราเข้าสู่เซลล์ที่ 4 ข้อมูลนั้นจะอัปเดตในเซลล์ที่ 6
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันเองก็สนใจคำถามนี้เหมือนกัน คุณพบคำตอบหรือไม่? ความคิดเห็นของฉันในเรื่องนี้จะดึงความสนใจของคนอื่นมาที่คำถามหรือไม่!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังวางข้อมูลมูลค่าหลายแถวและคอลัมน์ (ในครั้งเดียว และพร้อมกันเสมอ) ฉันต้องการให้การประทับเวลาแสดงในหนึ่งเซลล์เท่านั้น กล่าวคือ เมื่อใดก็ตามที่เซลล์ C9 เปลี่ยนแปลง (มุมบนซ้ายของข้อมูลของฉัน) ให้แสดงเวลาในเซลล์ A1 ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เราจะล็อครูปแบบเวลาได้อย่างไร .. เพราะมันอัพเดททุกครั้งและแทรกวันที่และเวลา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังสร้างแผ่นงานใน Excel ซึ่งฉันต้องการติดตามเวลาเริ่มต้นและสิ้นสุดของธุรกรรมเฉพาะโดยใช้การประทับเวลา คอลัมน์จะแสดงระยะเวลาด้วย โปรดดูภาพด้านล่าง ใครสามารถช่วยฉันได้บ้าง รูปภาพด้านล่าง

ฉันพบรหัส VBA 2 รหัสที่บันทึกการประทับเวลา อย่างไรก็ตาม ฉันไม่รู้ว่าจะรวมมันอย่างไรจึงจะใช้งานได้ในชีตนี้:


รหัส 1 . มันแสดงการประทับเวลาในคอลัมน์ "เวลาเริ่มต้น" (B4) เมื่อคุณป้อนหมายเลขธุรกรรมใน "Case ID" coumn (A4)


Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
เกี่ยวกับข้อผิดพลาด GoTo Handler
ถ้า Target.Column = 1 และ Target.Value <> "" แล้ว
Application.EnableEvents = เท็จ
Target.Offset(0, 1) = รูปแบบ (ตอนนี้ (), "mm/dd/yyyy HH:mm:ss")
Application.EnableEvents = จริง
End If
ตัวจัดการ:
ย่อยสิ้นสุด


รหัส 2 แสดงการประทับเวลาในคอลัมน์ "เวลาสิ้นสุด" (D4) หากเลือกรายการจากดรอปดาวน์ในคอลัมน์ "สถานะ" (C4)


Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xCellColumn เป็นจำนวนเต็ม
Dim xTimeColumn เป็นจำนวนเต็ม
Dim xRow, xCol เป็นจำนวนเต็ม
xCellColumn = 3
xTimeColumn = 4
xRow = Target.Row
xCol = Target.Column
ถ้า Target.Text <> "" แล้ว
ถ้า xCol = xCellColumn แล้ว
เซลล์ (xRow, xTimeColumn) = ตอนนี้ ()
End If
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน คุณเจีย
ไม่เห็นรูปของคุณ โปรดคลิกปุ่มอัปโหลดไฟล์ด้านล่างเพื่ออัปโหลดรูปภาพของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสคืออะไร หากฉันต้องการประทับเวลาหลายเซลล์ในเวิร์กชีตเดียวกัน
ตัวอย่าง: การเปลี่ยนแปลงในคอลัมน์ 3 การประทับเวลาในคอลัมน์ 5 การเปลี่ยนแปลงในคอลัมน์ 10 การประทับเวลาในคอลัมน์ 11 การเปลี่ยนแปลงในคอลัมน์ 13 การประทับเวลาในคอลัมน์ 14
xCellColumn = 3
xTimeColumn = 5
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียนมารี
รหัส VBA ต่อไปนี้สามารถช่วยคุณได้ ขอบคุณสำหรับความคิดเห็นของคุณ.

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
หรี่ฉันนาน
Dim J ตราบ
Dim xCols ตราบใด
Dim xSRg เป็นช่วง
Dim xRgEx เป็นช่วง
Dim xSRgArea เป็นช่วง
Dim xNextArea เป็นช่วง
เกี่ยวกับข้อผิดพลาดต่อไป
Application.EnableEvents = เท็จ
ตั้งค่า xSRg = ยูเนี่ยน(ช่วง("C:C"), พิสัย("E:E"), พิสัย("J:K"), พิสัย("M:N"))
ตั้งค่า xRgEx = อินเตอร์เซก (xSRg, เป้าหมาย)
ถ้า xRgEx ไม่มีอะไร ให้ไปที่ ExitSub
สำหรับฉัน = 1 ถึง xSRg.Areas.Count
เจ = ฉัน
ตั้งค่า xSRgArea = xSRg.Areas.Item(I)
ถ้า xRgEx.Column = xSRgArea(1).Column แล้ว
xCols = xSRgArea.Columns.Count
ถ้า xCols = 1 แล้ว
ตั้งค่า xNextArea = xSRg.Areas.Item(J + 1)
ถ้า xNextArea ไม่มีอะไรแล้ว
ไปที่ ExitSub
ElseIf xNextArea.Columns.Count = 1 จากนั้น
xNextArea(xRgEx.Row).Value = ตอนนี้()
ออกสำหรับ
End If
ElseIf xCols = 2 แล้ว
xSRgArea.Columns(2).Rows(xRgEx.Row).Value = Now()
ออกสำหรับ
End If
End If
ต่อไป
ทางออกย่อย:
Application.EnableEvents = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณช่วยแชร์สิ่งที่ต้องอัปเดตเพื่อให้เฉพาะเจาะจงกับสเปรดชีตอื่นได้ไหม ตัวอย่างเช่น การเปลี่ยนแปลงการประทับเวลา C ใน E การเปลี่ยนแปลงการประทับเวลา G ใน I การเปลี่ยนแปลงการประทับเวลา O ใน Q
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันเพียงแค่ร้อยรหัสแรกที่กล่าวถึงข้างต้นเข้าด้วยกันโดยเปลี่ยนตัวแปรทั้งหมดจาก VAR เป็น VAR1/VAR2/VAR3 เป็นต้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี สามารถทำได้หากมีการเปลี่ยนแปลงค่าใด ๆ และการประทับเวลามีการอัปเดตเฉพาะในเซลล์เฉพาะเช่น A1
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอให้เป็นวันที่ดี,
ถ้าคุณต้องการแสดงการประทับเวลาในเซลล์ A1 เสมอ หากค่าใดๆ มีการเปลี่ยนแปลงในช่วงที่กำหนด รหัส VBA ต่อไปนี้สามารถช่วยได้

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xRg เป็นช่วง
เกี่ยวกับข้อผิดพลาดต่อไป
ตั้งค่า xRg = อินเตอร์เซก(เป้าหมาย, พิสัย("B1:D4"))
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
ช่วง ("A1") .Value = ตอนนี้ ()
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Crystal ดีมาก ฉันจะเปลี่ยนการประทับเวลาในแต่ละแถวที่เกี่ยวข้องได้อย่างไรเมื่อเซลล์ใดๆ จากช่วงของเซลล์ในแถวที่เกี่ยวข้องเปลี่ยนแปลง เช่นเดียวกับ A2 ควรได้รับการอัปเดตด้วยการประทับเวลาเมื่อมีการเปลี่ยนแปลงใด ๆ ระหว่าง B2 ถึง H2 และอื่น ๆ ด้วย A3, A4 เป็นต้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีฐานข้อมูลใน excel ที่ฉันต้องการติดตามสิ่งที่เปลี่ยนแปลงไป
เป็นไปได้ไหมที่จะแก้ไขรหัสเพื่อที่ว่าถ้ามีการเปลี่ยนแปลงในแผ่นที่ 1 มันจะทำซ้ำเซลล์ที่เปลี่ยนแปลงในแผ่นที่ 2 และระบุเวลาด้านข้างหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วันดี,
ขอโทษที่ช่วยอะไรไม่ได้ ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากสำหรับเรื่องนี้! ฉันใช้ปุ่มเลื่อนเพื่อเพิ่ม 1 ให้กับยอดรวมของฉันทุกครั้งที่ฉันทำงานเสร็จ แต่มาโครไม่ลงทะเบียนการเปลี่ยนแปลงกับปุ่ม หลังจากค้นคว้าเพิ่มเติม ฉันก็ค้นพบวิธีกำหนดมาโครให้กับปุ่มควบคุมของฉัน และตอนนี้ฉันสามารถติดตามการเปลี่ยนแปลงได้แล้ว!!!! ฉันทำให้มันซับซ้อนกว่าที่ควรจะเป็น นี่คือสิ่งที่ฉันลงเอยด้วย:


การประทับเวลาย่อย ()
'
' แมโครประทับเวลา
' ประทับเวลาบนปุ่มเลื่อน
'
'
ช่วง ("j2") .Value = ตอนนี้ ()

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


ขอบคุณ,
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากสำหรับสิ่งนี้ อย่างไรก็ตาม การประทับเวลาจะเปลี่ยนก็ต่อเมื่อค่าในเซลล์ถูกเปลี่ยน "ด้วยตนเอง" ถ้ามีการเปลี่ยนแปลงเนื่องจากการเปลี่ยนแปลงในเซลล์อื่นและค่าเปลี่ยนเป็นส่วนหนึ่งของสูตร จะไม่มีการประทับเวลา คุณมีวิธีแก้ปัญหานี้หรือไม่? ขอบใจ! เดนนิส
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เดนนิสที่รัก
รหัสได้รับการปรับปรุงด้วยการแก้ไขปัญหา ขอบคุณสำหรับความคิดเห็นของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี

นี่คือสิ่งที่ฉันกำลังมองหา! อย่างไรก็ตาม ฉันสงสัยว่าคุณสามารถช่วยให้มันทำงานกับเวิร์กชีตที่มีการป้องกันได้หรือไม่ ดูเหมือนว่าจะใช้ได้กับรายการที่ไม่ได้รับการป้องกันเท่านั้น (เมื่อการประทับเวลาอัปเดตเนื่องจากการเปลี่ยนแปลงค่าซึ่งเป็นส่วนหนึ่งของสูตร คล้ายกับคำขอของเดนนิส)

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


เป็นไปได้ไหมที่จะแก้ไขโค้ดเพื่อให้การเปลี่ยนแปลงในหลายคอลัมน์สร้างการประทับเวลาใหม่ในเซลล์เดียวกัน คือฉันทำการแก้ไขในเซลล์ A3, B3 หรือ C3 และการอัปเดตการประทับเวลาใน C4 เท่านั้น


นอกจากนี้ เป็นไปได้ไหมที่จะทำให้โค้ดมีผลกับช่วงที่กำหนดภายในชีตเท่านั้น


ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีอเล็ก
โปรดลองใช้โค้ด VBA ด้านล่าง ขอบคุณสำหรับความคิดเห็นของคุณ.

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xRRg, xRg เป็นช่วง
Dim xRgArray เป็นตัวแปร
Dim xStrCell เป็นสตริง
Dim xSCRg เป็นช่วง
Dim xStrResult เป็นสตริง
xRgArray = อาร์เรย์ ("A1:C10")
xStrCell = "A3, B3, C3"
xStrResult = "C4"
เกี่ยวกับข้อผิดพลาดต่อไป

ถ้า Target.Cells.count > 1 แล้วออกจาก Sub
สำหรับ xFNum = LBound(xRgArray) ถึง UBound(xRgArray)
ถ้า xRgArray(xFNum) <> "" แล้ว
ตั้งค่า xRg = ช่วง (xRgArray(xFNum))
ถ้าไม่ใช่ xRg ก็ไม่มีอะไรทั้งนั้น
ตั้งค่า xSCRg = Null
ตั้งค่า xSCRg = xRg.Range(xStrCell)
xSCRg เลือก
ถ้าไม่ใช่ xSCRg ก็ไม่มีอะไรทั้งนั้น
ถ้าไม่ตัดกัน (xSCRg, Target) ก็ไม่มีอะไรทั้งนั้น
ตั้งค่า xRRg = xRg.Range(xStrResult)
ถ้า xRRg ไม่มีอะไร ให้ออกจาก Sub
xRRg.Value = ตอนนี้ ()
ออกสำหรับ
End If
End If
End If
End If
ถัดไป xFNum
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เฮ้ หวังว่าคุณยังเห็นสิ่งนี้อยู่นะ!!! ฉันใช้รหัสด้านล่างสำหรับการอัปเดตการประทับเวลาใน C6 ทุกครั้งที่อัปเดต C5 ปัญหาคือเมื่อฉันอยู่ในเวิร์กชีตที่เหลือ ทุกครั้งที่ฉันกด Enter หรือแท็บ ฉันจะกลับไปที่ C5 ความคิดใด?

Dim xRRg, xRg เป็นช่วง
Dim xRgArray เป็นตัวแปร
Dim xStrCell เป็นสตริง
Dim xSCRg เป็นช่วง
Dim xStrResult เป็นสตริง
xRgArray = อาร์เรย์ ("C5:C6")
xStrCell = "C5"
xStrResult = "C6"
เกี่ยวกับข้อผิดพลาดต่อไป

ถ้า Target.Cells.Count > 1 แล้วออกจาก Sub
สำหรับ xFNum = LBound(xRgArray) ถึง UBound(xRgArray)
ถ้า xRgArray(xFNum) <> "" แล้ว
ตั้งค่า xRg = ช่วง (xRgArray(xFNum))
ถ้าไม่ใช่ xRg ก็ไม่มีอะไรทั้งนั้น
ตั้งค่า xSCRg = Null
ตั้งค่า xSCRg = xRg.Range(xStrCell)
xSCRg เลือก
ถ้าไม่ใช่ xSCRg ก็ไม่มีอะไรทั้งนั้น
ถ้าไม่ตัดกัน (xSCRg, Target) ก็ไม่มีอะไรทั้งนั้น
ตั้งค่า xRRg = xRg.Range(xStrResult)
ถ้า xRRg ไม่มีอะไร ให้ออกจาก Sub
xRRg.Value = ตอนนี้ ()
ออกสำหรับ
End If
End If
End If
End If
ถัดไป xFNum
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คล้ายกับที่ฉันต้องการ ฉันต้องการให้การประทับเวลาได้รับการอัปเดตในคอลัมน์ AG เมื่อเซลล์ระหว่าง A และ AH ได้รับการอัปเดต
ฉันได้ลองใช้รหัสด้านบนแล้วแต่ไม่มีโชค
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีโปรเจ็กต์ที่ฉันกำลังดำเนินการอยู่ซึ่งฉันอัปเดตเป็นประจำ ส่วนใหญ่ใช้เพื่อติดตามข้อมูลของพนักงานของฉัน เช่น หมายเลขโทรศัพท์ วันหมดอายุใบขับขี่ ฯลฯ เนื่องจากฉันอัปเดตบ่อยมาก ฉันจึงต้องการประทับเวลาอัตโนมัติที่ด้านบนหรือด้านล่างของเวิร์กชีตของฉันซึ่งจะอัปเดตด้วยวันที่ของวันนี้ทุกครั้งที่ฉัน อัปเดตข้อมูลได้ทุกที่ในสเปรดชีต ขณะนี้ฉันใช้ AN และ 1-42 ดังนั้นฉันต้องการตราประทับรอบ M40 รหัสนั้นจะมีลักษณะอย่างไร?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เปิด Developer และในเวิร์กบุ๊กของคุณ ให้เลือกเวิร์กบุ๊กและเหตุการณ์ BeforeSave


ในช่องย่อยให้ใส่รหัส: Range("M40").value = Now
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
การเพิ่มการประทับเวลานั้นได้ผลดีมากและมีประโยชน์มาก อย่างไรก็ตาม ฉันได้รับข้อผิดพลาดเมื่อลบแถว เนื่องจากสคริปต์ไม่สามารถแทรกการประทับเวลาในแถวที่ไม่มีอยู่อีกต่อไป


จะดีมากถ้ามีคนแนะนำวิธีแก้ปัญหานี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีแซนเดอร์
กรณีของฉันไม่มีข้อผิดพลาดเกิดขึ้น คุณช่วยบอกฉันเวอร์ชัน Excel ของคุณได้ไหม ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Crystal ดีมาก ฉันจะเปลี่ยนการประทับเวลาในแต่ละแถวที่เกี่ยวข้องได้อย่างไรเมื่อเซลล์ใดๆ จากช่วงของเซลล์ในแถวที่เกี่ยวข้องเปลี่ยนแปลง ตัวอย่างเช่น A2 ควรได้รับการอัปเดตด้วยการประทับเวลาเมื่อมีการเปลี่ยนแปลงใดๆ ในแถวที่สองระหว่าง B2 ถึง H2 และในทำนองเดียวกัน A3 จะได้รับการประทับเวลาเมื่อการเปลี่ยนแปลงเสร็จสิ้นใน B3 ถึง H3 เป็นต้น จนถึงแถวสุดท้าย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีทุกคน

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ.

รหัสอะไรควรอัปเดตเวลาปัจจุบันในเซลล์ในคอลัมน์ X หากมีการเปลี่ยนแปลงในเซลล์ในแถวนั้น ตัวอย่างเช่น การเปลี่ยนแปลงในค่าในเซลล์ a2 ถึง w2 ดังนั้นเวลาควรอัปเดตเป็น x2


ขอบคุณอีกครั้ง.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฟังก์ชันการประทับเวลาจะถูกข้ามหรือไม่หากไฟล์ excel ที่คุณใช้สามารถรีเฟรชได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วันดี,
รหัสไม่รองรับข้อมูลการเชื่อมต่อ ขออภัยในความไม่สะดวก.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สุภาพบุรุษ

เป็นเวลาหนึ่งเดือนแล้วที่ฉันกำลังมองหาวิธีแก้ปัญหาที่คล้ายกันเช่นนี้ แม้ว่าวิธีแก้ปัญหาข้างต้นจะดูเหมือนเป็น OTM แต่ฉันกำลังใช้วิธีนี้สำหรับตลาดหุ้น
ดังนั้นฉันจึงมีคอลัมน์ F ที่ฉันใช้กลยุทธ์การซื้อ/ขายและชีตยังคงรีเฟรชทุก 1 นาที ฉันมีคอลัมน์ T ซึ่งฉันต้องการประทับเวลาตามเงื่อนไขต่อไปนี้:

(1) คอลัมน์ F - สัญญาณซื้อหรือขาย
(2) คอลัมน์ F - การเปลี่ยนแปลงจากการซื้อเป็นขายหรือขายเป็นซื้อ
(3) คอลัมน์ F - เปลี่ยนจากการซื้อ/ขายเป็นค่าว่าง

ในขณะที่วิธีแก้ปัญหาทั่วไปที่มีอยู่ในเน็ตดูเหมือนจะใช้งานได้ (สูตร excel) แต่เมื่อข้อมูลรีเฟรชจะเจาะเวลาปัจจุบันมากกว่าเวลาสัญญาณ เช่น หากฉันได้รับ Buy @ 9:15 น. และหากเวลาปัจจุบันคือ 10:30 น. ฉันจะเห็นเวลา 10:30 น. ในคอลัมน์ T (เวลาสัญญาณ) ไม่ใช่ 9:15 น.

ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก

ขอแสดงความนับถือ
JT
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
5/15/19|1:41 PM|John Smith|125B-1|10000000|Equipment|Staff|5/15/19|2:43 PM|Staff

โพสต์ด้านบนแสดงข้อมูลที่ป้อนในแถว ฉันกำลังขอความช่วยเหลือในการอัปเดต 2 คอลัมน์แรกที่มีการประทับเวลาทุกครั้งที่มีการเติมคอลัมน์ ID (10000000) ถ้าเป็นไปได้สามารถลบการประทับเวลาด้วยถ้า ID ถูกลบด้วยหรือไม่ เกี่ยวกับ 3 คอลัมน์สุดท้าย (วันที่|เวลา|พนักงาน) การประทับเวลาเหล่านั้นอาจได้รับการอัปเดตเมื่อใดก็ตามที่คอลัมน์สุดท้ายถูกเติมด้วยชื่อพนักงาน ฉันพยายามเล่นกับโค้ดนี้ แต่การขาดความรู้เกี่ยวกับ VBA ทำให้ฉันทำได้มากเท่านั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคริสตัล
ฉันกำลังพยายามสร้างฟังก์ชันที่ถ้าฉันอัปเดตเซลล์ใด ๆ ใน H9:L9 ในชีต 1 การประทับเวลาในเซลล์ C2 ในชีต 2 ควรได้รับการอัปเดต
ตอนนี้ฉันต้องทำสิ่งนี้กับประมาณ 100 แถวในชีต 1( H10:L10, H11:L11) และอัปเดต C3, C4....ในชีต 2 ที่เกี่ยวข้อง

ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก ไชโย.!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
โหลดเพิ่มเติม
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ