
อิอิ ผมพอจะเข้าใจแล้วครับอาจารย์
งั้นก็ต้องแก้ไขที่โค๊ดดังที่อาจารย์บอกครับ คือว่า ฟอร์มใบสั่งซื้อผมป้องกันแผ่นงานไว้ ตอนเขียนโค๊ดสั่งให้บันทึกข้อมูล ก็ต้องมีโค๊ดปลดล๊อคและล๊อคตามเดิม ดังโค๊ดด้านล่างนี้
Code: Select all
Sub Button7_Click()
Dim msg As Integer
msg = MsgBox("¤Ø³µéͧ¡Òúѹ·Ö¡ÃÒ¡ÒÃãªèËÃ×ÍäÁè?", vbYesNo)
If msg = vbYes Then
ActiveSheet.Unprotect Password:="240130" '<==UnProtect
If Range("A17") <> "" Then
Sheets("Temp").Select
Range("A2:J61").Resize(Range("K1"), 10).Select
Selection.Copy
Sheets("DataStore").Select
Range("Target").Select
Selection.PasteSpecial xlPasteValues
Sheets("PurchaseOrder").Select
Range("B17:I76,L3,G7,C13,B7").SpecialCells(xlCellTypeConstants).ClearContents
MsgBox ("ºÑ¹·Ö¡¢éÍÁÙºàÃÕºÃéÍÂáÅéÇ")
Else
MsgBox ("¤Ø³ÂѧäÁèàÅ×Í¡ÊÔ¹¤éÒ")
Range("A17").Activate
End If
ActiveSheet.Protect Password:="240130" '<== Protect Again
End If
End Sub
โค๊ดด้านบนสั่งบันทึกมายัง Datastore ซึ่งDatastore ไม่ได้มีการป้องกันแผ่นงานแต่อย่างใด
แต่เมื่อผมซ่อนชีท Datastore และล๊อคไว้ด้วย ผมควรจะแก้ไขโค๊ดด้านบนอย่างไรครับ โดยให้ปลดล็อคตอนขัมมูลมาบันทึก และจะล็อคใหม่เมื่อบันทึกข้อมูลเสร็จแล้ว
อีกนิดน่ะครับ ถ้าเราป้องกันแผ่นงานแล้ว ก็ไม่จำเป็นต้องซ่อนใช่ไหมครับ
