Page 1 of 1
หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์
Posted: Mon Feb 23, 2015 1:51 pm
by freedomkira
สัวัดดีทุกๆท่านครับ มีเรื่องอยากสอบถาม คือ หลังจากที่ผมใส่ค่าสุดท้ายลงไปในช่อง(L2)แล้วให้ทำการล็อกเชลล์ตั้งแต่ A2:L2 ชึ่งมีการใส่รหัสผ่านไว้ด้วย แต่ยังสามารถใส่ค่าในคอลัมอื่นๆได้ เช่นช่อง(L3) โดยที่ไม่ต้องปลดล็อก แล้วทำการล็อกเชลล์ (A3:L3) ไปเรื่อยๆครับ มีข้อสงสัยครับ ว่าผมสามารถระบุ ตำแหน่งในการล็อกแต่ละครั้งได้หรือไม่แล้วถ้าหากผมต้องการแก้ไขข้อมูลเฉพาะคอลัมนั้นๆ โดยที่เชลล์อื่นๆที่ล็อกอยู่จะไม่ถูกปลอล็อกไปด้วยครับ สุดท้ายนี้ผมได้แนบไฟล์มาด้วยแล้ว ขอขอบคุณทุกๆท่านที่เข้ามาตอบล่วงหน้าครับ
Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์
Posted: Mon Feb 23, 2015 10:24 pm
by snasui
ให้ทำการปลด Locked เซลล์ทุกเซลล์ด้วย Manual ให้หมดก่อนจากนั้นนำ Code ด้านล่างไปปรับใช้ครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
'If ActiveCell.Column = 1 Then Range("k" & Target.Row) = Now()
If Target.Column = 12 And Target.Row > 1 Then
ActiveSheet.Unprotect Password:="1234"
ActiveCell.Offset(-1, -11).Resize(1, 12).Locked = True
ActiveSheet.Protect Password:="1234"
End If
End Sub
Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์
Posted: Tue Feb 24, 2015 9:36 am
by freedomkira
Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์
Posted: Tue Feb 24, 2015 9:58 am
by freedomkira
ผมมีข้อสงสัยครับอาจารย์ การทำงานของคำสั่ง ActiveCell.Offset(-1, -11).Resize(1, 12).Locked = True คือ สมมุติ หลังผมใส่ค่าลงไปใน (L6) มันจะคิดจากตำแหน่งปัจจุบัน ลบไป (-1,-11) แล้วเลือกจากตำแหน่งนั้นไปอีก (1,12) เพื่อทำการล็อก ถูกต้องไหมครับ ขอขอบคุณล่วงหน้าครับ
Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์
Posted: Tue Feb 24, 2015 8:07 pm
by snasui
ถูกต้องแล้วครับ