Page 1 of 1

click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 2:05 pm
by March201711
ต้องการ click ชื่อที่ column E แล้วให้ไปที่sheet ตามชื่อที่ click เช่น
เช่น click ชื่อ Ms.Nadda ที่ cell E4 แล้วให้ไปที่ sheet Ms.Naddaที่ cell A1
click ชื่อ Ms.Kaesorn ที่ cell E5 แล้วให้ไปที่ sheet Ms.Kaesornที่ cell A1
click ชื่อ Mr.Sakont ที่ cell E6 แล้วให้ไปที่ sheet Mr.Sakont ที่ cell A1

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 2:44 pm
by puriwutpokin
E4=HYPERLINK("#'"&LEFT(C4,FIND(" ",$C4)-1)&"'!A1",LEFT(C4,FIND(" ",$C4)-1))

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 3:18 pm
by March201711
ถ้า sheet Mr.Pichairat hide อยู่ทำไมไปที่ sheet Mr.Pichairat ไม่ได้ค่ะ ต้องทำไงให้มัน auto ไปที่ sheet Mr.Pichairat

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 3:31 pm
by puriwutpokin
ถ้าซ่อนอยู่ก็ไม่สามารถลิ้งค์ไปได้ครับ คงต้องอาศัย VBA เข้าช่วยครับ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 4:05 pm
by March201711
ถ้าใช้ vba ต้องทำยังงัยคะ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 4:11 pm
by puriwutpokin
ลงศึกษาจาก ลิ้งค์นี้ครับ
https://businesstechplanet.com/how-to-h ... -in-excel/

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 5:09 pm
by March201711
ลองทั้งสองวิธิีแล้ว ไม่ได้น่ะค่ะ ตาม code ที่ให้ link มา

Code: Select all

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘Updateby Extendoffice
    Application.ScreenUpdating = False
    On Error Resume Next
    If Target.Column = 1 Then
        Sheets(Target.Value).Visible = xlSheetVisible
        Sheets(Target.Value).Select
    End If 
   Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘Updateby Extendoffice
    Application.ScreenUpdating = False
    On Error Resume Next
    If Target.Column = 1 Then
        Sheets(Target.Value).Visible = xlSheetVisible
        Sheets(Target.Value).Select
    End If
    Application.ScreenUpdating = True
End Sub


Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 5:30 pm
by puriwutpokin
เป็นEvent นะครับไว้โค้ดที่หลังชีทที่มีสูตรแล้วเปลี่ยน

Code: Select all

Target.Column = 1
เลข​1ให้ตรงกับคอลัมน์​ที่มีสูตรครับ​ ไงลองทำดูครับถ้าติดตรงไหนแนบไฟล์​มาดูครับ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 5:46 pm
by March201711
นี้ค่ะ column E

Code: Select all

ivate Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice
    Application.ScreenUpdating = False
    On Error Resume Next
    If Target.Column = E Then
        Sheets(Target.Value).Visible = xlSheetVisible
        Sheets(Target.Value).Select
    End If
   Application.ScreenUpdating = True
End Sub
เขียนแล้วไม่ได้ตามที่ต้องการเลยค่ะ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 5:50 pm
by puriwutpokin
เปลี่ยนตามนี้ครับ

Code: Select all

If Target.Column = 5 Then

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 6:36 pm
by March201711
เปลี่ยนเป็นเลข 5แล้ว runไม่เห็นได้เลยค่ะ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Tue Nov 23, 2021 9:47 pm
by puriwutpokin
ลองปรับเป็น

Code: Select all

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice
    Application.ScreenUpdating = False
    On Error Resume Next
    If Target.Column = 5 Then
        Sheets(Target.Value).Visible = xlSheetVisible
        Sheets("Main").Range("e3").Select
        Sheets(Target.Value).Select
    End If
   Application.ScreenUpdating = True
End Sub

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Wed Nov 24, 2021 9:20 am
by March201711
กดรันแล้ว มันขึ้น pop up แบบนี้ค่ะ
ตามไฟล์ที่แนบค่ะ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Wed Nov 24, 2021 9:27 am
by puriwutpokin
โค้ดนี้ เป็น Event คลิ๊กที่ ชื่อที่เป็น Hyperlink ที่ต้องการเลยไม่ต้องรันมือครับ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Wed Nov 24, 2021 9:41 am
by March201711
คววมหมาย event คืออะไร ช่วยอธิบายให้หน่อยได้ไหมคะ แล้วจะรู้ได้ยังงัยคะว่าเป็น Event ดูจากไหนคะ

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Wed Dec 01, 2021 12:55 am
by 9010521
เหตุผลที่โปรแกรมแสดง pop up ในเอกสารแนบ #13 เป็นเพราะว่าคุณ March201711 กด F5 หรือถ้าคุณ กด F8 โค้ดนี้ก็จะไม่ทำงานเช่นกัน
ใน #15 คุณ March201711 ถามว่า Event คืออะไร คำตอบ Event คือ การกำหนดว่า ต้องทำอย่างไร Code จึงจะเริ่มทำงาน
เช่น การกำหนดว่ากด f5 Code จะทำงานทั้งหมด กด F8 โค้ดจะทำงานทีละบรรทัด หรือกำหนดว่าเมื่อเปิด Excel หรือ ปิด Excel โค้ดจะทำงาน
และใน Code นี้ ถูกกำหนดว่า จะทำงานเมื่อคลิกช่องใดๆ ใน คอลัม E เท่านั้น การกระทำอื่นๆ Code จะไม่ทำงาน เช่น การที่คุณกด F5 หรือ F8 Code จึงไม่ทำงาน
คุณลองเปิด Sheet Main แล้วลองคลิกช่องต่างๆ ใน คอลัม E แล้วดูผลลัพธ์ตอนนี้ว่าได้ตามที่ต้องการหรือไม่

Re: click ชื่อที่ cell แล้วให้ไปที่ sheet ตามชื่อที่ click

Posted: Wed Dec 01, 2021 6:37 am
by March201711
ค่ะ ขอบคุณมากค่ะที่อธิบายอย่างละเอียดให้เข้าใจค่ะ