: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

สอบถามเรื่องการใช้เขียน vba auto very hidden

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

สอบถามเรื่องการใช้เขียน vba auto very hidden

#1

Post 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
ขอบคุณครับ
Attachments
Hidden.xlsm
(27.16 KiB) Downloaded 5 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31205
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่องการใช้เขียน vba auto very hidden

#2

Post by snasui »

Xcelvba wrote: Sat Jun 11, 2022 8:42 am 1.สอบถามว่ามีวิธีการใดที่สามารถ auto hidden all sheet ยกเว้น ชีตแรก (Login) เมื่อปิด
:D นำ 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 เพื่อให้จดจำการซ่อนชีตครับ
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: สอบถามเรื่องการใช้เขียน vba auto very hidden

#3

Post by Xcelvba »

:D ขอบคุณครับ
ขึ้นอยู่กับว่าต้องการให้มีการจดจำค่าที่เปลี่ยนแปลงไปหรือไม่ หากไม่ต้องการให้จดจำก็ไม่จำเป็นต้อง 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)
Attachments
Hidden.xlsm
(30.57 KiB) Downloaded 8 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31205
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่องการใช้เขียน vba auto very hidden

#4

Post by snasui »

:D ตัวอย่างการปรับ 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
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: สอบถามเรื่องการใช้เขียน vba auto very hidden

#5

Post by Xcelvba »

ขอบคุณ อ. มากครับได้แล้วครับ
Post Reply