snasui wrote:
ยกเลิกการป้องกันเสียก่อนที่จะกำหนดค่าใด ๆ เช่นการตีเส้นในกับ Range ใน Worksheet เมื่อทำเสร็จแล้วค่อยป้องกันใหม่
หากป้องกันไว้จะไม่สามารถกำหนดค่าใด ๆ ได้ในทุก ๆ Version หากทำได้แสดงว่า Excel มีปัญหาครับ

ผมรู้สึกแปลกๆ
Code: Select all
Sub ตั้งค่าเนื้อหา()
Call UnProtectAll2
Application.ScreenUpdating = False
Dim rng As Range
Sheets(Array("C1T1", "C2T1", "C3T1", "C4T1", "C5T1", "C1T2", "C2T2", "C3T2", "C4T2", _
"C5T2")).Select
Range("E7:X57,AB8:AC57,AG8:AG57,AJ8:AK57").Select
Set rng = Selection
rng.Borders.LineStyle = xlContinuous
rng.Font.Name = "Angsana New"
rng.Font.Size = 14
rng.HorizontalAlignment = xlCenter
'rng.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Range("A1").Select
Application.ScreenUpdating = True
Call ProtectAll
End Sub
สั่งแล้วก็ไม่เป็นผล ติดที่เดิมครับ
นี่่ CODE ปลด Pass ครับ
Code: Select all
Sub UnProtectAll2()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Unprotect Password:="2500"
Next ws
End Sub
ส่วนนี่ Code Lock ครับ
Code: Select all
Sub ProtectAll()
ActiveWorkbook.Protect Password:="2500", Structure:=True
For Each ws In Worksheets
ws.Protect Password:="2500"
Next
Range("M32:P32").Select
ActiveCell.FormulaR1C1 = "สถานะ : ป้องกันการแก้ไข"
Range("I5").Select
End Sub
ทดสอบปลด Lock แล้วรัน F8 ก็ติดบรรทัดเดิม
และที่แปลก พื้นที่ Selection ที่เราเลือกไว้ สั่งแบบ manual ยกเลิกเส้นตารางก็ไม่ได้ครับ
