:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

Protect Lock Sheet

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Protect Lock Sheet

#1

Post by kit_nad »

ผมต้องการที่จะ Protect sheet ไว้แต่พอเวลา save แล้วมันก็ขึ้น Error ตอน Save ทุกทีครับ
ลองทำตามกระทู้นี้แล้วแต่ก็ไม่ได้ผลครับ
viewtopic.php?f=3&t=404&p=4419&hilit=Protect
มันต้องมี code อะไรเพิ่มหรือเปล่า???
Attachments
เอกสารร้องขอให้จัดทำเครื่องมือJig.xlsm
(48.53 KiB) Downloaded 20 times
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: Protect Lock Sheet

#2

Post by ChoBkuN »

ผมไม่เก่ง VBA นะครับ
เข้าใจว่า เวลา Protect Sheet จะทำให้เป็นลักษณะ Read Only ทำให้ Save ไม่ได้
คงต้องเขียน VBA ว่าเวลากดปุ่ม Save
ให้ Unprotect Sheet ก่อน
แล้ว Save
แล้ว Protect Sheet ใหม่แบบ อัตโนมัติ
ครับ
Attachments
เอกสารร้องขอให้จัดทำเครื่องมือJig.xlsm
(47.89 KiB) Downloaded 16 times
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#3

Post by kit_nad »

เดี๋ยวผมแนบไฟล์ไปให้ใหม่นะครับ
Attachments
เอกสารร้องขอให้จัดทำเครื่องมือJig.xlsm
(48.49 KiB) Downloaded 16 times
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: Protect Lock Sheet

#4

Post by ChoBkuN »

ผมลืมบอกว่า วิธีแก้ของผม คือใช้ มาโคร เพื่อมาช่วยสร้างคำสั่งให้
unprotect --> save --> protect นะครับ
ชื่อ มาโคร ว่า SaveButton
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#5

Post by kit_nad »

ไป insert Button มาแล้วเขียน code vba เลอครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#6

Post by snasui »

:D การบันทึก Macro ไม่จำเป็นต้องสร้างปุ่มขึ้นมาก่อนครับ สร้างปุ่มทีหลังแล้วค่อย Assign Macro ให้กับปุ่มก็สามารถทำได้ครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#7

Post by kit_nad »

ครับอาจารย์ผมเขียน macro แล้ว
อันนี้เป็นคำสั่ง save ครับ

Public Sub SaveJig() '' Form
ActiveSheet.Unprotect Password:="1111"
If Range("C4") <> "" And Range("E4") <> "" And Range("C5") <> "" And Range("E5") <> "" Then
Sheets("temp").Range("A2:K2").Copy
Sheets("Database").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("C4:c8,E4:E8").SpecialCells(xlCellTypeConstants).ClearContents
MsgBox ("Save data complete")
Else
MsgBox ("Please input data before click save data" & vbCrLf & "·èÒ¹¡ÃÍ¡¢éÍÁÙÅäÁè¤Ãº")
End If
ActiveSheet.Protect Password:="1111"
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#8

Post by snasui »

:D ช่วยวาง Code ให้แสดงเป็น Code ตามกระทู้นี้ครับ viewtopic.php?f=3&t=1187

สำหรับ Code ที่เขียนมายังไม่มี Code สำหรับการ Save ไฟล์ ลองบันทึก Macro การ Save แล้วนำ Code มาใช้กับ Code เดิมหากยังไม่ได้ช่วยแนบ Code ที่ปรับปรุงแล้วมาอีกครั้งครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#9

Post by kit_nad »

Code: Select all

Public Sub SaveJig() '' Form
ActiveSheet.Unprotect Password:="1111"
If Range("C4") <> "" And Range("E4") <> "" And Range("C5") <> "" And Range("E5") <> "" Then
Sheets("temp").Range("A2:K2").Copy
Sheets("Database").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Form").Range("C4:c8,E4:E8").SpecialCells(xlCellTypeConstants).ClearContents
MsgBox ("Save data complete")
Else
MsgBox ("Please input data before click save data" & vbCrLf & "·èÒ¹¡ÃÍ¡¢éÍÁÙÅäÁè¤Ãº")
End If
ActiveSheet.Protect Password:="1111"
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#10

Post by snasui »

:mrgreen:
snasui wrote:สำหรับ Code ที่เขียนมายังไม่มี Code สำหรับการ Save ไฟล์ ลองบันทึก Macro การ Save แล้วนำ Code มาใช้กับ Code เดิมหากยังไม่ได้ช่วยแนบ Code ที่ปรับปรุงแล้วมาอีกครั้งครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#11

Post by kit_nad »

อาจารย์คับผมงงครับ
ช่วยพูดภาษาเถือนๆ ได้ไหมคับผมงงครับ
Attachments
ไม่รู้ว่าผมจะตอบตรงกับคำถามของอาจารย์ที่อธิบายมาหรือเปล่า
ไม่รู้ว่าผมจะตอบตรงกับคำถามของอาจารย์ที่อธิบายมาหรือเปล่า
condit.jpg (42.39 KiB) Viewed 404 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#12

Post by snasui »

:D ผมเขียนไว้ชัดเจนแล้วครับ เนื่องจาก Code ที่แนบมา ไม่มีบรรทัดไหนที่เป็นการ Save ไฟล์ ลองบันทึก Macro สำหรับการ Save ไฟล์โดยเฉพาะ แล้วนำ Code นั้นมาปรับใช้กับ Code นี้ โดยนำมาไว้หลังบรรทัด

ActiveSheet.Protect Password:="1111"

ซึ่งผมเห็นว่า Code สำหรับการ Save นั้นไม่ได้ยาก สามารถใช้การบันทึก Macro ได้ และเมื่อเขียนการ Save แล้วยังติดขัดตรงไหน สามารถแนบไฟล์ที่เป็นปัญหาถามมาได้เรือย ๆ การใช้ภาษาในการถามตอบควรใช้ให้เหมาะสม จะเถื่อนไม่ได้ครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#13

Post by kit_nad »

อาจารย์ครับผมลองดูหลายๆ กระทู้แล้วไม่เห็นมีใครใส่คำสั่ง save เลย
viewtopic.php?f=3&t=1590&p=11080&hilit=protect#p11080
ช่วยเกรินนิดๆ ได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#14

Post by snasui »

:D ผมตอบไว้ชัดแล้วครับ ไม่ได้ตอบแบบใบ้ ลองสรุปขั้นตอนการทำงานมาเป็นคำพูดดูอีกครั้งครับ และติดในขั้นตอนใด ตามที่ถามมานั้นเป็นคำถามเกียวกับการ Save และปัญหาคือ Save ไม่ได้

และเมื่อมีปัญหาเกี่ยวกับการ Save ผมก็ตอบเรื่อง Save ครับ การจะ Save ได้ก็ต้องมี Code สำหรับการ Save ก่อน แต่ที่เขียนมานั้นไม่มี Code สำหรับการ Save ครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#15

Post by kit_nad »

มันไม่มี code สำหรับการ save แต่ใช้คำสั่ง Copy แล้วค่อยไป Save ใน โปรแกรม Excel อีกทีไม่ได้เลอครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#16

Post by snasui »

:D ได้ครับ สรุปตอนนี้ปัญหาคืออะไรครับ :?:
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#17

Post by kit_nad »

ปัญหาของผมคือ ผม lock sheet ไว้
พอ run คำสั่ง macro เสร็จแล้วมันขึ้น Error ว่า read only ครับ
ถ้าปลดล็อกจะสามารถ copy data ได้
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Protect Lock Sheet

#18

Post by snasui »

:D ขั้นตอนการทำงานจาก Code ที่แนบมาก็ถูกต้องแล้วครับ กรณีที่มีการ Protect ไว้จะต้องปลดการ Protect ก่อน จากนั้นปรับปรุงข้อมูลตามต้องการ และเมื่อเสร็จสิ้นการปรับปรุงให้ Protect เอาไว้ใหม่ครับ ที่สำคัญ การปลดการ Protect จะต้องมั่นใจว่าเป็นชีทที่เราต้องการทำงานด้วย ไม่เช่นนั้นก็ Error ครับ
kit_nad
Member
Member
Posts: 21
Joined: Thu Jul 19, 2012 2:26 pm

Re: Protect Lock Sheet

#19

Post by kit_nad »

อาจารย์ครับผมใช้คำสั่ง Call Mudule เอานะครับจะได้ตัดไปหาไปเลยครับ
ตอนนี้ save ได้แล้วครับขอบคุณครับ
Post Reply