Page 1 of 1

หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์

Posted: Mon Feb 23, 2015 1:51 pm
by freedomkira
สัวัดดีทุกๆท่านครับ มีเรื่องอยากสอบถาม คือ หลังจากที่ผมใส่ค่าสุดท้ายลงไปในช่อง(L2)แล้วให้ทำการล็อกเชลล์ตั้งแต่ A2:L2 ชึ่งมีการใส่รหัสผ่านไว้ด้วย แต่ยังสามารถใส่ค่าในคอลัมอื่นๆได้ เช่นช่อง(L3) โดยที่ไม่ต้องปลดล็อก แล้วทำการล็อกเชลล์ (A3:L3) ไปเรื่อยๆครับ มีข้อสงสัยครับ ว่าผมสามารถระบุ ตำแหน่งในการล็อกแต่ละครั้งได้หรือไม่แล้วถ้าหากผมต้องการแก้ไขข้อมูลเฉพาะคอลัมนั้นๆ โดยที่เชลล์อื่นๆที่ล็อกอยู่จะไม่ถูกปลอล็อกไปด้วยครับ สุดท้ายนี้ผมได้แนบไฟล์มาด้วยแล้ว ขอขอบคุณทุกๆท่านที่เข้ามาตอบล่วงหน้าครับ :thup:

Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์

Posted: Mon Feb 23, 2015 10:24 pm
by snasui
:D ให้ทำการปลด 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
ขอบคุณมากเลยครับ อาจารย์ได้อย่างที่ต้องการเลย :thup: :thup: :thup:

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) เพื่อทำการล็อก ถูกต้องไหมครับ ขอขอบคุณล่วงหน้าครับ :D

Re: หลังจากใส่ข้อมูลแล้วให้ล็อกเชชล์

Posted: Tue Feb 24, 2015 8:07 pm
by snasui
:D ถูกต้องแล้วครับ