Page 1 of 1
VeryHidden File
Posted: Wed Apr 11, 2012 3:09 pm
by maya
หากต้องการ veryhidden ทุกชีท อัตโนมัติทุกครั้งที่เปิดสมุดงานขึ้นมาใหม่ ยกเว้นชีท Main สามรถทำได้ไหมคะ
Re: VeryHidden File
Posted: Wed Apr 11, 2012 3:39 pm
by songsug
แบบนี้ได้ไหมครับ
Code: Select all
Private Sub Workbook_Open() 'ตอนเปิดไฟล์ ซ่อนหมดเลย
For Each sh In Worksheets
If sh.Name <> "Main" Then sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub UnHidden() 'อันนี้ไว้ยกเลิกซ่อนนะครับ
For Each sh In Worksheets
sh.Visible = xlSheetVisible
Next
End Sub
Re: VeryHidden File
Posted: Wed Apr 11, 2012 3:46 pm
by maya
It's work
Thank you for your help, K'Songsug. And can I ask u more, Why we have to put that code in "ThisWorkbook".
Re: VeryHidden File
Posted: Wed Apr 11, 2012 3:49 pm
by songsug
ที่เราต้องนำ Code ไปไว้ที่ ThisWorkbook เพราะเราจะกระทำกับ Events หรือสถานะการณ์ ที่มีอยู่ใน Workbook นั้นๆครับ แต่ถ้าหากเราต้องการกระทำกับ worksheets เราก็ต้องนำ Code ไปไว้ใน Worksheet ที่ต้องการครับ ซึ่งตัวเลือกต้อง Events ก็จะต่างกันออกไป
เช่น การกระทำต่อสมุดงาน อาจมีตัวเลือก เมื่อเปิด เมื่อปิด เมื่อบันทึก เมื่อสร้าง sheet ใหม่ หรือเมื่อลบ sheet เป็นต้นจ้า
แต่ถ้าเป็น worksheet เราก็จะกระทำตามเงื่อนไขที่เราเลือก เช่น เมื่อมาเลือก sheet ที่กดหนด เมื่อมีการเปลี่ยนแปลง เมื่อมีการแทรกแถว หรือคอลัมน์ .... ประมาณนี้ล่ะ
ถ้าผมอธิบายผิดพลาด รบกวนท่านอื่นๆเสริมให้หน่อยนะครับ ผมพูดไม่เก่ง แต่รักหมดใจ
Re: VeryHidden File
Posted: Wed Apr 11, 2012 7:43 pm
by godman
ขอบคุณคุณเจ้าของกระทู้ครับที่ ถามคำถามที่ผมเองก็อยากได้อยู่เหมือนกัน เพราะไม่อยากทำให้ผู้ที่ใช้ข้อมูลเรารู้สึกว่าข้อมูลมันเยอะแยะหลายชีตเหลือเกิน ต้องการให้ผู้ใช้ค่อยๆเลือกชี้ตที่สนใจแล้วคลิ้ก hyperlink เข้าไปอ่านเอา แต่ว่าผม apply macro มาใช้แล้วแต่ทำไมมันไม่ได้หละครับ รบกวนดูให้ด้วยครับว่าผมผิดที่ใหน
Re: VeryHidden File
Posted: Wed Apr 11, 2012 8:26 pm
by tupthai
จาก
For Each sh In Worksheets
เปลี่ยนเป็น
For Each sh In sheets
จะรวม Chart ด้วยครับ
Re: VeryHidden File
Posted: Wed Apr 11, 2012 9:38 pm
by godman
ขอบคุณครับ แต่เมือผมทดลองนำไปใช้ดู ใน sheet main ผมทำ hyperlink ไว้ทำไปกดแล้วมันไม่ไปหละครับ ผมอยากให้มันเปิด sheet ที่กด hyperlink ได้
และความต้องการอันดับต่อมาคือ เมื่อละจาก sheet ที่กำลังเปิดอยู่ก็ให้ sheet นั้นถูกซ่อนไว้ ให้คงไว้แต่หน้า main เหมือนสภาพเดิม ขอบคุณครับ
Re: VeryHidden File
Posted: Wed Apr 11, 2012 10:28 pm
by tupthai
ไว้ใน sheet Main
Code: Select all
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Worksheets(Mid(Target.SubAddress, 2, InStr(1, Target.SubAddress, "!") - 3)).Visible = xlSheetVisible
Application.EnableEvents = False
Target.Follow
Application.EnableEvents = True
End Sub
เมื่อละจาก sheet ที่กำลังเปิดอยู่ก็ให้ sheet นั้นถูกซ่อนไว้ ให้คงไว้แต่หน้า main เหมือนสภาพเดิม
ชีทอื่นๆทุกชีทยกเว้น Main ใช้code
Code: Select all
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Worksheets(Mid(Target.SubAddress, 2, InStr(1, Target.SubAddress, "!") - 3)).Visible = xlSheetVeryHidden
Application.EnableEvents = False
Target.Follow
Application.EnableEvents = True
End Sub
Re: VeryHidden File
Posted: Thu Apr 12, 2012 9:46 pm
by godman
แจ้งผลการใช้งานครับ ใช้ได้ดีระดับหนึ่งมากครับ ขอบพระคุณครับ