ฉันกำลังตั้งค่าสเปรดชีตเพื่อแสดงข้อมูลแนวโน้มสำหรับการทดสอบวิเคราะห์ผลิตภัณฑ์เคมี ฉันต้องการให้ข้อมูลแต่ละบรรทัดถูกล็อคเมื่อผู้ตรวจสอบตรวจสอบการถอดความข้อมูลดังกล่าวแล้ว ฉันสามารถล็อคบรรทัดเดียวโดยใช้รหัสนี้ใน VBA:
Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
ถ้า Range("X3") = "No" แล้ว
Range("B3:W3") .Locked = False
ElseIf Range("X3") = "ใช่" แล้ว
ช่วง("B3:W3") ล็อคอยู่ = True
End If
ย่อยสิ้นสุด
คอลัมน์ X มีรายการดรอปดาวน์ที่มี "ใช่" และ "ไม่ใช่" เป็นสองตัวเลือก ฉันต้องการให้ข้อมูลแต่ละบรรทัดที่ถูกเพิ่มลงในแผ่นงาน จะถูกล็อกเมื่อผู้ตรวจทานได้เลือกใช่ในคอลัมน์นี้เพื่อให้แน่ใจว่าไม่มีการเปลี่ยนแปลงโดยไม่ได้ตั้งใจกับข้อมูลที่ผ่านมา เป็นไปได้ไหมโดยไม่ต้องทำซ้ำ about code สำหรับแต่ละบรรทัดอย่างไม่มีกำหนด?
Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
ถ้า Range("X3") = "No" แล้ว
Range("B3:W3") .Locked = False
ElseIf Range("X3") = "ใช่" แล้ว
ช่วง("B3:W3") ล็อคอยู่ = True
End If
ย่อยสิ้นสุด
คอลัมน์ X มีรายการดรอปดาวน์ที่มี "ใช่" และ "ไม่ใช่" เป็นสองตัวเลือก ฉันต้องการให้ข้อมูลแต่ละบรรทัดที่ถูกเพิ่มลงในแผ่นงาน จะถูกล็อกเมื่อผู้ตรวจทานได้เลือกใช่ในคอลัมน์นี้เพื่อให้แน่ใจว่าไม่มีการเปลี่ยนแปลงโดยไม่ได้ตั้งใจกับข้อมูลที่ผ่านมา เป็นไปได้ไหมโดยไม่ต้องทำซ้ำ about code สำหรับแต่ละบรรทัดอย่างไม่มีกำหนด?