Page 1 of 1
VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 7:35 pm
by yangkodza
Code: Select all
Sub Macro1()
Sheets(Array("2", "3", "4")).Select
Sheets("2").Activate
ActiveSheet.Protect "password", True, True
End Sub
มีแผ่นงาน 5 แผ่น แต่ต้องการล๊อคเพียงแค่ 3 แผ่นงาน
เราจะเขียนเป็น VBA ได้อย่างไรครับ
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 7:52 pm
by puriwutpokin
yangkodza wrote: Thu Mar 22, 2018 7:35 pm
Code: Select all
Sub Macro1()
Sheets(Array("2", "3", "4")).Select
Sheets("2").Activate
ActiveSheet.Protect "password", True, True
End Sub
มีแผ่นงาน 5 แผ่น แต่ต้องการล๊อคเพียงแค่ 3 แผ่นงาน
เราจะเขียนเป็น VBA ได้อย่างไรครับ
Sheet.xlsm
ตัวอย่างโค้ดครับ
Code: Select all
Sub Macro1()
For Each ws In Sheets(Array("2", "3", "4"))
ws.Protect "password", True, True
Next
End Sub
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 8:39 pm
by yangkodza
puriwutpokin wrote: Thu Mar 22, 2018 7:52 pm
yangkodza wrote: Thu Mar 22, 2018 7:35 pm
Code: Select all
Sub Macro1()
Sheets(Array("2", "3", "4")).Select
Sheets("2").Activate
ActiveSheet.Protect "password", True, True
End Sub
มีแผ่นงาน 5 แผ่น แต่ต้องการล๊อคเพียงแค่ 3 แผ่นงาน
เราจะเขียนเป็น VBA ได้อย่างไรครับ
Sheet.xlsm
ตัวอย่างโค้ดครับ
Code: Select all
Sub Macro1()
For Each ws In Sheets(Array("2", "3", "4"))
ws.Protect "password", True, True
Next
End Sub
ตอนนี้ Protect ทั้ง 3 แผ่นงานดังกล่าวได้ครับ
แต่ติดที่ว่า จะ Unprotect ทั้ง 3 แผ่นงานพร้อมกันไม่ได้ครับ
ผมสั่งแบบนี้ครับ
Code: Select all
Sub Macro1()
For Each ws In Sheets(Array("2", "3", "4"))
ws.Unprotect "password", True, True
Next
End Sub
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 9:19 pm
by yangkodza
Code ที่ผมใช้งานครับ
Code: Select all
Sub Macro3()
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Unprotect Password:="2501"
Next
Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1")).Select
Sheets("C1T1").Activate
Range("A4:AR57").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("E7").Select
Range("Y7:AP7,Y8:AA57,AD8:AF57,AI8:AI57,AL8:AP57").Select
Selection.Locked = True
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Protect Password:="2501"
Next
End Sub
ติด ตรงส่วนก่อนจบครับ
!
| ws.Protect Password:="2501" |
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 9:45 pm
by snasui

แนบไฟล์ล่าสุดมาด้วยจะได้สะดวกในการทดสอบครับ
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Thu Mar 22, 2018 10:45 pm
by puriwutpokin
yangkodza wrote: Thu Mar 22, 2018 9:19 pm
Code ที่ผมใช้งานครับ
Code: Select all
Sub Macro3()
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Unprotect Password:="2501"
Next
Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1")).Select
Sheets("C1T1").Activate
Range("A4:AR57").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("E7").Select
Range("Y7:AP7,Y8:AA57,AD8:AF57,AI8:AI57,AL8:AP57").Select
Selection.Locked = True
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Protect Password:="2501"
Next
End Sub
ติด ตรงส่วนก่อนจบครับ
!
| ws.Protect Password:="2501" |
ลองใส่คำสั่ง
Code: Select all
Sheets("ขื่อชีทที่ไม่ได้อยู่ในArray").Select
ไว้ใต้คำสั่งนี้ดูครับ
Re: VBA lock sheet หลายๆ sheet พร้อมกัน
Posted: Fri Mar 23, 2018 12:44 pm
by yangkodza
puriwutpokin wrote: Thu Mar 22, 2018 10:45 pm
yangkodza wrote: Thu Mar 22, 2018 9:19 pm
Code ที่ผมใช้งานครับ
Code: Select all
Sub Macro3()
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Unprotect Password:="2501"
Next
Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1")).Select
Sheets("C1T1").Activate
Range("A4:AR57").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("E7").Select
Range("Y7:AP7,Y8:AA57,AD8:AF57,AI8:AI57,AL8:AP57").Select
Selection.Locked = True
For Each ws In Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1"))
ws.Protect Password:="2501"
Next
End Sub
ติด ตรงส่วนก่อนจบครับ
!
| ws.Protect Password:="2501" |
ลองใส่คำสั่ง
Code: Select all
Sheets("ขื่อชีทที่ไม่ได้อยู่ในArray").Select
ไว้ใต้คำสั่งนี้ดูครับ
ขอบคุณมากครับ ทำตามคำแนะนำใช้งานได้แล้วครับ
