Page 1 of 1

[VBA] Close workbook แล้วให้ซ่อน sheet

Posted: Thu May 31, 2018 2:10 pm
by Arm_anucha
ขอสอบถามหน่อยครับพอดีติดปัญหาครับ
1. อยากจะให้เมื่อปิด Workbook แล้วให้ Sheet ที่ไม่ได้ชื่อ Fill in ซ่อนแบบ VeryHidden แล้วเปิดไฟล์มาให้โชว์แต่ Sheet "Fill in"
โดยที่ไม่ใช้ Workbook_Open()
- แต่เมื่อทำแล้วใช้แบบ Private Sub Workbook_BeforeClose(Cancel As Boolean) พอปิดแล้วเปิดไฟล์ขึ้นมาใหม่
Sheet ก็ยังคงโชว์ขึ้นให้เห็นทุก Sheet แต่เมื่อลองใช้แบบ Sub ธรรมดาปรากฎว่าใช้ได้ครับ พอจะแก้ไขอย่างไหรได้บ้างครับ

2. UserFrom , มีปัญหา Textbox UserName และ Password ใช้ช่อง ControlSource ไม่ได้ครับ พอใช้แล้วปิด เปิดไฟล์ใหม่จะเข้าไฟล์ไม่ได้ขึ้น ตย.เช่น ที่ช่อง ControlSource : Admin!B5 , Admin!B6 จะขึ้น Path/File access error

UserName : 1 Password 1

Code: Select all

Sub CloseWorkbook()
Sheet1.Activate
Dim WkSht As Worksheet
For Each WkSht In ThisWorkbook.Worksheets
If WkSht.Name <> "Fill in" Then WkSht.Visible = xlSheetVeryHidden
Next WkSht
 ThisWorkbook.Save
 ActiveWindow.Close
End Sub

Code: Select all

Private Sub Workbook_BeforeClose(Cancel As Boolean)
CloseWorkbook
End Sub

Re: [VBA] Close workbook แล้วให้ซ่อน sheet

Posted: Thu May 31, 2018 6:21 pm
by snasui
:D ในเครื่องผมโปรแกรมมีการซ่อนชีตให้แล้วตาม Code ที่เขียนมาครับ

Re: [VBA] Close workbook แล้วให้ซ่อน sheet

Posted: Thu May 31, 2018 7:29 pm
by Arm_anucha
สงสัยคงเป็นที่เครื่องครับ เพราะว่ามาเปิดอีกเครื่องนึงปรากฎว่าใช้ได้ครับ

Re: [VBA] Close workbook แล้วให้ซ่อน sheet

Posted: Thu May 31, 2018 7:32 pm
by snasui
:D ลองตรวจสอบการตั้งค่า Macro ว่ากำหนดไว้เช่นไร โดยเข้าเมนู File > Options > Trust Center > Trust Center Settings > Macro Setings > เลือก Enable... ครับ