Page 1 of 1
สอบถามเรื่องการใช้เขียน vba auto very hidden
Posted: Sat Jun 11, 2022 8:42 am
by Xcelvba
1.สอบถามว่ามีวิธีการใดที่สามารถ auto hidden all sheet ยกเว้น ชีตแรก (Login) เมื่อปิด
1.1 ถ้าทำได้จำเป็นไหมที่ต้องเซฟทุกครั้งเมื่อมีการปิด
2.เบื้องต้น Very Hidden ทุกชีตไว้ก่อนแล้ว
Code: Select all
Private Sub CommandButton1_Click()
With Sheets("login")
If .form1.TextBox1 = "admin" & .form1.TextBox2 = "admin" Then
Worksheets("sheet1").Visible = False
Worksheets("sheet2").Visible = False
Worksheets("sheet3").Visible = False
Else: MsgBox ("Retry login again")
End If
End With
End Sub
ขอบคุณครับ
Re: สอบถามเรื่องการใช้เขียน vba auto very hidden
Posted: Sat Jun 11, 2022 12:24 pm
by snasui
Xcelvba wrote: Sat Jun 11, 2022 8:42 am
1.สอบถามว่ามีวิธีการใดที่สามารถ auto hidden all sheet ยกเว้น ชีตแรก (Login) เมื่อปิด

นำ Code ด้านล่างไปเพิ่มไว้ใน ThisWorkbook ครับ
Code: Select all
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "login" Then
sh.Visible = xlSheetVeryHidden
End If
Next sh
ThisWorkbook.Close True
End Sub
Xcelvba wrote: Sat Jun 11, 2022 8:42 am
1.1 ถ้าทำได้จำเป็นไหมที่ต้องเซฟทุกครั้งเมื่อมีการปิด
ขึ้นอยู่กับว่าต้องการให้มีการจดจำค่าที่เปลี่ยนแปลงไปหรือไม่ หากไม่ต้องการให้จดจำก็ไม่จำเป็นต้อง Save แต่ในกรณีนี้จำเป็นต้อง Save เพื่อให้จดจำการซ่อนชีตครับ
Re: สอบถามเรื่องการใช้เขียน vba auto very hidden
Posted: Sat Jun 11, 2022 1:06 pm
by Xcelvba

ขอบคุณครับ
ขึ้นอยู่กับว่าต้องการให้มีการจดจำค่าที่เปลี่ยนแปลงไปหรือไม่ หากไม่ต้องการให้จดจำก็ไม่จำเป็นต้อง Save แต่ในกรณีนี้จำเป็นต้อง Save เพื่อให้จดจำการซ่อนชีตครับ
สอบถามเพิ่มเติมครับ เงื่อนไขในการแสดงชีท เมื่อมีการ login ครับ
ID : admin
password :admin
ถ้าถูกให้ เปิด ชีตทั้งหมด
ถ้าผิดขึ้น error message ครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim sh1 As Worksheet
For Each sh1 In Worksheets
With Sheets("login")
If .form1.TextBox1 = "admin" & .form1.TextBox2 = "admin" Then
For Each sh In Worksheets
If sh1.Name <> "login" Then
sh1.Visible = xlSheetVisible
End If
Next sh1
Else: MsgBox ("Retry login again")
End If
End With
End Sub
Sheet1(login)
Re: สอบถามเรื่องการใช้เขียน vba auto very hidden
Posted: Sat Jun 11, 2022 1:39 pm
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim sh As Worksheet
With Sheets("login")
If .TextBox1 = "admin" And .TextBox2 = "admin" Then
For Each sh In Worksheets
If sh.Name <> "login" Then
sh.Visible = xlSheetVisible
End If
Next sh
Else
MsgBox ("Retry login again")
End If
End With
End Sub
Re: สอบถามเรื่องการใช้เขียน vba auto very hidden
Posted: Sat Jun 11, 2022 2:38 pm
by Xcelvba
ขอบคุณ อ. มากครับได้แล้วครับ