Page 1 of 1

สอบถามการอ้างอิงชื่อชีทในโค้ด vba ครับ

Posted: Sat Jul 23, 2022 6:38 pm
by thanadul0816
สมมุตว่าผมมีชีท 3 ชีท
Sheet1(index)
Sheet2(data)
Sheet3(report)

ผมเขียนโค้ดเป็น แบบนี้ Run ได้ปกติครับ

Code: Select all

Sub test()
 Sheets("index").Visible = xlSheetVeryHidden
 Sheets("data").Visible = xlSheetVeryHidden
End Sub
แต่หากผมต้องการเป็น ชื่อตามชีทเลย เป็น Sheet1
แบบด้านล่างนี้ ต้องปรับโค้ดอย่างไรครับ

Code: Select all

Sub test()
 Sheets("Sheet1").Visible = xlSheetVeryHidden
 Sheets("Sheet2").Visible = xlSheetVeryHidden
End Sub

Re: สอบถามการอ้างอิงชื่อชีทในโค้ด vba ครับ

Posted: Sat Jul 23, 2022 8:13 pm
by snasui
:D ใช้คำว่า Sheet1 แทน Sheets("Sheet1")

ชีตอื่น ๆ ก็ใช้ในทำนองเดียวกันครับ

Re: สอบถามการอ้างอิงชื่อชีทในโค้ด vba ครับ

Posted: Sat Jul 23, 2022 8:20 pm
by thanadul0816
snasui wrote: Sat Jul 23, 2022 8:13 pm :D ใช้คำว่า Sheet1 แทน Sheets("Sheet1")

ชีตอื่น ๆ ก็ใช้ในทำนองเดียวกันครับ

Code: Select all

Sub test()
Sheet1.Visible = xlSheetVeryHidden
End Sub
แบบนี้ได้ผลลัพธ์ตามต้องการเลยครับ
ใช้ชื่อชีทมาตั้งนาน บางชื่อมี . บางชื่อมีช่องว่าง มีเลขนำหน้า ก็ใช้ไม่ได้
ต้องมานั่งไล่แก้ชื่อชีท
พอแก้โค้ดแล้วชีวิตดีขึ้นเยอะเลยครับ
ขอบคุณมากครับ