Page 1 of 1

พิมพ์แล้วแสดงข้อความแปลกๆ (หลอน)

Posted: Tue Apr 13, 2021 11:17 pm
by yangkodza
เพี้ยน.JPG
ตามภาพเลยครับ แต่ถ้าเลยไปสลับแผ่นงานแล้วกลับมามันก็หายไปหรือว่าเราเลื่อนหน้าจอลงล่างแล้วเลื่อนกลับมันก็หาย แต่ว่าเวลาเราทำงานมันจะหลอนๆครับ รบกวนชี้แนะด้วยครับ

Re: พิมพ์แล้วแสดงข้อความแปลกๆ (หลอน)

Posted: Wed Apr 14, 2021 2:13 pm
by snasui
:D มี Code เกี่ยวกับการจัดงานนี้หรือไม่ เขียนว่าอย่างไร

ลองเช็คว่าหากมีการเขียน ScreenUpdating = False เอาไว้แล้ว ก่อนที่จะออกจาก Sub ไม่ว่าจังหวะไหนจะต้องมี ScreenUpdating = True เสมอ เพื่อให้หน้าจอกลับคืนมาสู่สภาพเดิม ไม่เช่นนั้นจะเกิดภาพซ้อนขึ้นมาได้ครับ

Re: พิมพ์แล้วแสดงข้อความแปลกๆ (หลอน)

Posted: Wed Apr 14, 2021 4:28 pm
by yangkodza
snasui wrote: Wed Apr 14, 2021 2:13 pm :D มี Code เกี่ยวกับการจัดงานนี้หรือไม่ เขียนว่าอย่างไร

ลองเช็คว่าหากมีการเขียน ScreenUpdating = False เอาไว้แล้ว ก่อนที่จะออกจาก Sub ไม่ว่าจังหวะไหนจะต้องมี ScreenUpdating = True เสมอ เพื่อให้หน้าจอกลับคืนมาสู่สภาพเดิม ไม่เช่นนั้นจะเกิดภาพซ้อนขึ้นมาได้ครับ

Code: Select all

Sub UnProtectAll()
On Error GoTo ErrorOccured
Dim pwd1 As String
Application.ScreenUpdating = False
pwd1 = InputBox("กรุณาใส่รหัสผ่าน")
If pwd1 = "" Then Exit Sub
For Each ws In Worksheets
ws.Unprotect Password:=pwd1
Next ws
Sheets("หน้าแรก").Select
Application.ScreenUpdating = True
Exit Sub
ErrorOccured:
MsgBox "รหัสผ่านผิดพลาด โปรดลองใหม่อีกครั้ง"
Exit Sub
End Sub
ลองแล้วครับอาการยังไม่หายแต่ถ้าผมเปลี่ยนมาใช่แบบใส่รหัสออโต้จะปกติครับ
อันล่างใส่รหัสออโต้

Code: Select all

Sub UnProtectAll2()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Unprotect Password:="1248"
Next ws
Application.ScreenUpdating = True
End Sub
เลยยังงงๆอยู่ครับผม

Re: พิมพ์แล้วแสดงข้อความแปลกๆ (หลอน)

Posted: Wed Apr 14, 2021 4:54 pm
by snasui
:D จาก Code นี้
yangkodza wrote: Wed Apr 14, 2021 4:28 pm

Code: Select all

Application.ScreenUpdating = False
pwd1 = InputBox("กรุณาใส่รหัสผ่าน")
If pwd1 = "" Then Exit Sub
ก่อน Exit Sub จะต้องกำหนด ScreenUpdating = True ด้วยครับ

Re: พิมพ์แล้วแสดงข้อความแปลกๆ (หลอน)

Posted: Wed Apr 14, 2021 7:04 pm
by yangkodza
snasui wrote: Wed Apr 14, 2021 4:54 pm :D จาก Code นี้
yangkodza wrote: Wed Apr 14, 2021 4:28 pm

Code: Select all

Application.ScreenUpdating = False
pwd1 = InputBox("กรุณาใส่รหัสผ่าน")
If pwd1 = "" Then Exit Sub
ก่อน Exit Sub จะต้องกำหนด ScreenUpdating = True ด้วยครับ
ขอบคุณมากครับ สามารถทำได้แล้วครับ :thup: