มีวิธีทริกเกอร์การเปลี่ยนแปลงการติดตามผ่าน VBA ใน Excel หรือไม่

ฉันต้องการจาก VBA เพื่อเริ่ม/หยุดฟังก์ชัน "ติดตามการเปลี่ยนแปลง" ใน Excel

เมื่อค้นหาผ่านเน็ต ฉันเห็นคุณสมบัติที่เรียกว่าวัตถุ TrackRevisions จาก ActiveDocument สมมุติว่าในการเขียน MS Word ActiveDocument.TrackRevisions = True ควรเปิด "ติดตามการเปลี่ยนแปลง"

แต่ใน MS Excel บรรทัดนี้ให้ 424 Object required ข้อผิดพลาดรันไทม์ ข้อผิดพลาดเดียวกันนี้จะถูกส่งกลับเมื่อลองใช้ ThisWorkbook การเปลี่ยนเป็น ActiveSheet ทำให้เกิดข้อผิดพลาด 438 Object doesn't support this property or method


person Martin Dimitrov    schedule 11.01.2012    source แหล่งที่มา


คำตอบ (3)


สำหรับ สมุดงานที่ใช้ร่วมกัน คุณสามารถใช้ VBA ได้จากลิงก์เหล่านี้ (วิธีการคือ ActiveWorkbook.HighlightChangesOptions)

นี้ไม่มีการติดตามเชิงลึกเช่นเดียวกับที่มีอยู่ใน Word ตัวอย่างเช่นจากลิงก์แรกในโพสต์ของฉันใน Excel:

  1. การติดตามการเปลี่ยนแปลงแตกต่างจากการเลิกทำและสำรองข้อมูล
  2. การเปลี่ยนแปลงบางประเภทไม่ได้รับการติดตาม การเปลี่ยนแปลงที่คุณทำกับเนื้อหาเซลล์จะถูกติดตาม แต่การเปลี่ยนแปลงอื่นๆ เช่น การเปลี่ยนแปลงการจัดรูปแบบ จะไม่ถูกติดตาม
  3. ประวัติการเปลี่ยนแปลงจะถูกเก็บไว้ตามช่วงเวลาที่กำหนดเท่านั้น
  4. ประวัติการเปลี่ยนแปลงจะถูกลบเป็นระยะ

หากนั่นไม่ใช่สิ่งที่คุณกำลังไล่ตาม คุณอาจใช้ VBA เฉพาะเพื่อติดตามได้

  1. เซลล์บางเซลล์หรือ
  2. เปรียบเทียบรุ่น

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

person brettdj    schedule 11.01.2012
comment
ดูเหมือนว่า HighlightChangesOptions จะทำงานเฉพาะเมื่อเปิดใช้งานการติดตามการเปลี่ยนแปลงเท่านั้น แต่จะเปลี่ยนการติดตามการเปลี่ยนแปลงผ่าน VBA ได้อย่างไร - person Martin Dimitrov; 11.01.2012

คุณสามารถใช้รหัสต่อไปนี้ คุณจะเห็นรหัสนี้เมื่อคุณบันทึกมาโคร

    With ActiveWorkbook
    .HighlightChangesOptions When:=xlAllChanges
    .ListChangesOnNewSheet = False
    .HighlightChangesOnScreen = True
   End With
person user1143192    schedule 11.01.2012
comment
ขอบคุณสำหรับคำตอบ. ฉันได้รับ 'ข้อผิดพลาดรันไทม์: 1004 วิธีการ HighlightChangesOptions ของวัตถุ _Workbook ล้มเหลว' - person Martin Dimitrov; 11.01.2012
comment
ลองใช้โค้ดที่นี่: windowssecrets.com/forums/showthread.php/ - person natem345; 08.04.2013

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

... แทนที่จะติดตามการเปลี่ยนแปลง ให้ลองเปรียบเทียบสมุดงานสองเล่มโดยใช้การเปรียบเทียบสเปรดชีตของ Microsoft (แอปพลิเคชันจำกัดเฉพาะ Excel 2013, Excel 2016 , Office 365 Professional)

... แทนที่จะติดตามการเปลี่ยนแปลง คุณสามารถบันทึกประวัติการเปลี่ยนแปลงที่ทำกับสมุดงานได้ (ใครเปลี่ยนแปลงอะไรและเมื่อใด) - การควบคุมเวอร์ชัน XLTools

ฉันใช้ทั้งสองอย่างขึ้นอยู่กับงาน

person eriklind    schedule 12.04.2016