snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#1
Post
by มัคกี้เม้า » Tue Oct 29, 2013 6:06 pm
อยากให้ เซลล์ B1,B2,B3 ลิงค์กับชีทที่ชื่อเหมือนกัน เช่น B1 จะคู่กับชีทชื่อลำไย เป็นต้น โดยเวลาที่คลิกที่ชื่อลำไยอยากให้มันเด้งขึ้นมาเป็นชีทนั้นเลยคะ
ลิงค์ข้ามชีท.xls
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#2
Post
by bank9597 » Tue Oct 29, 2013 6:32 pm
มัคกี้เม้า wrote: อยากให้ เซลล์ B1,B2,B3 ลิงค์กับชีทที่ชื่อเหมือนกัน เช่น B1 จะคู่กับชีทชื่อลำไย เป็นต้น โดยเวลาที่คลิกที่ชื่อลำไยอยากให้มันเด้งขึ้นมาเป็นชีทนั้นเลยคะ
ลิงค์ข้ามชีท.xls
ใช้ hyperlink ได้ครับ
คลิ๊กขวาที่เซลล์ต้องการ เลือก hyperlink เลือก pace in this document เลือกชีทที่ต้องการลิงค์ไปหา กด Ok
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#3
Post
by มัคกี้เม้า » Tue Oct 29, 2013 6:43 pm
ขอบคุณคะ คุณแบงค์แต่ว่ามีปัญหาอยู่นะคะว่าถ้าใช้ Hyperlink แล้วจะไม่สามารถดูได้หมดทุกคนยกเว้นเจ้าของเครื่อง อยากให้ทุกคนดูได้เหมือนกันเนื่องจากต้องส่งข้อมูลนี้ทุกเดือนคะ ขอบคุณคะ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#4
Post
by มัคกี้เม้า » Tue Oct 29, 2013 6:59 pm
มีอีกข้อคะ ไม่ต้องการให้เห็นชีทที่ชื่อลำไยจะซ่อนเอาไว้คะ ให้เห็นแค่ Sheet1 เท่านั้นคะต้องทำอย่างไรคะ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#5
Post
by bank9597 » Tue Oct 29, 2013 7:03 pm
มัคกี้เม้า wrote: ขอบคุณคะ คุณแบงค์แต่ว่ามีปัญหาอยู่นะคะว่าถ้าใช้ Hyperlink แล้วจะไม่สามารถดูได้หมดทุกคนยกเว้นเจ้าของเครื่อง อยากให้ทุกคนดูได้เหมือนกันเนื่องจากต้องส่งข้อมูลนี้ทุกเดือนคะ ขอบคุณคะ
หากเป็นเช่นนั้น ก็ต้องใช้ VBA ครับ สามารถทำได้ไม่ยากครับ
ตัวอย่างโค๊ด เช่น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
sheets("ลำไย").activate
End If
End Sub
ลองนำไปปรับเองครับ
ส่วนการซ่อนชีทนั้น ก็ต้องใช้ VBA ครับ ยังไงต้องเขียนมาเองก่อนครับ ผมช่วยได้ไม่มากไปกว่านี้ เพราะจะผิดกฏฟอรั่มครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#6
Post
by มัคกี้เม้า » Wed Oct 30, 2013 2:57 pm
ขอบคุณคะสำหรับคำแนะนำ แต่ว่าการเขียนโค้ดนั้นความรู้เรื่องนี้น้อยอยู่คะ มีสูตรอะไรที่แทนการเขียนโค้ดหรือไม่คะ เนื่องจากต้องการใช้ด่วนคะ เพราะว่าชีทย่อย ในไฟล์เดียวกันนั้นค่อนข้างเยอะคะ อยากทำหน้าหลักที่ sheet 1 รบกวนด้วยนะคะ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#7
Post
by bank9597 » Wed Oct 30, 2013 3:31 pm
มัคกี้เม้า wrote: ขอบคุณคะสำหรับคำแนะนำ แต่ว่าการเขียนโค้ดนั้นความรู้เรื่องนี้น้อยอยู่คะ มีสูตรอะไรที่แทนการเขียนโค้ดหรือไม่คะ เนื่องจากต้องการใช้ด่วนคะ เพราะว่าชีทย่อย ในไฟล์เดียวกันนั้นค่อนข้างเยอะคะ อยากทำหน้าหลักที่ sheet 1 รบกวนด้วยนะคะ
สำหรับการลิงค์ข้ามไฟลต้องใช้ VBA เท่านั้นครับ สูตรไม่สามารถสั่งงานให้โชว์ชีทได้
คุณต้องเขียนมาเองครับ ผมแนะนำได้เฉพาะโค๊ดตัวอย่าง เช่น
Code: Select all
Sub activateSheet()
'ใส่ชื่อชีทลงไป
Sheets("ลำไย").Activate
End Sub
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#8
Post
by มัคกี้เม้า » Wed Oct 30, 2013 4:18 pm
Sub activateSheet()
Sheets ("Sheet1").select
Sheets("ลำไย").Activate
End Sub
ใช่หรือเปล่าคะ ต้องใส่ชื่อหน้าหลักเข้าไป หรือว่าเป็นชื่อชีทลำไยคะ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#10
Post
by bank9597 » Wed Oct 30, 2013 5:11 pm
มัคกี้เม้า wrote: Sub activateSheet()
Sheets ("Sheet1").select
Sheets("ลำไย").Activate
End Sub
ใช่หรือเปล่าคะ ต้องใส่ชื่อหน้าหลักเข้าไป หรือว่าเป็นชื่อชีทลำไยคะ
เปิดไฟล์ แล้ว กด Alt+F11 จะปรากฏหน้า VBE ขึ้นมา
ไปที่แท็บ Insert > Module
ในช่องว่าง ใส่โค๊ด
Code: Select all
Sub Lumyai()
Sheets("ลำไย").Activate
End Sub
กลับมาที่ Sheet1 ไปที่ Insert > Shapes เลือกช่งสี่เหลี่ยม แล้ววาดสี่เหลี่ยมลงในเซลล์หลังคำว่า ลำไย
คลิีกขวาที่รูปสี่เหลี่ยมที่สร้างขึ้น เลือก Assign Macro > Lumyai >OK
ทดสอบคลิ๊กที่ช่องสี่เหลี่ยม
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#11
Post
by snasui » Wed Oct 30, 2013 7:16 pm
มัคกี้เม้า wrote: ขอบคุณคะ คุณแบงค์แต่ว่ามีปัญหาอยู่นะคะว่าถ้าใช้ Hyperlink แล้วจะไม่สามารถดูได้หมดทุกคนยกเว้นเจ้าของเครื่อง อยากให้ทุกคนดูได้เหมือนกันเนื่องจากต้องส่งข้อมูลนี้ทุกเดือนคะ ขอบคุณคะ
ปกติการ Link ข้ามชีทแบบ Hyperlink ควรจะใช้ได้กับทุกเครื่องครับ
กรณีต้องการใช้สูตรที่ B1 คีย์สูตร
=HYPERLINK("[ลิงค์ข้ามชีท.xls]"&INDEX({"ลำไย";"มะม่วง";"เงาะ"},ROWS(B$1:B1))&"!A1",INDEX({"ลำไย";"มะม่วง";"เงาะ"},ROWS(B$1:B1)))
Enter > Copy ลงด้านล่าง
ส่วนการซ่อนชีทสามารถเข้าเมนู Tools > Options > View > ปลดเครื่องหมายที่ Sheet tab
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#12
Post
by มัคกี้เม้า » Wed Oct 30, 2013 7:38 pm
ทำตามที่แนะนำแล้วคะได้ผลที่ต้องการแล้ว ดีใจมากๆๆๆคะ ขอบคุณนะคะ
ส่วนที่ล็อคชีส ยังงงและสับสนในหน้าที่2 เพราะว่า
จะเลือกทำแบบไหนที่เป็นต้นแบบเอามาประยุกต์คะ
ตรงที่ขึ้นต้นด้วย
Sub SaveToDatastore()
ActiveSheet.Unprotect Password:="240130" '<==UnProtect
Sheets("DataStore").Unprotect Password:="240130"
End If
Sheets("DataStore").Protect Password:="240130" '<==Protect
ActiveSheet.Protect Password:="240130" '<==UnProtect
End Sub
มาประยุกต์เป็นชีทลำไย
Sub SaveToLumyai()
ActiveSheet.Unprotect Password:="240130" '<==UnProtect
Sheets("Lumyai").Unprotect Password:="240130"
End If
Sheets("Lumyai").Protect Password:="240130" '<==Protect
ActiveSheet.Protect Password:="240130" '<==UnProtect
End Sub
จากที่อาจารย์ท่านยกตัวอย่างมาคะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#13
Post
by snasui » Wed Oct 30, 2013 7:46 pm
ช่วยโพสต์ Code ให้แสดงเป็น Code จะได้สะดวกต่อการอ่านและการ Copy ไปทดสอบ ดูวิธีการโพสต์ให้แสดงเป็น Code ได้ที่ Link นี้ครับ
viewtopic.php?f=2&t=1187
Code ที่ยกมานั้นไม่น่าจะทำงานถูกต้อง เพราะมี End If แต่ไม่มี If
การจะมี End If ได้ต้องมี If อยู่ก่อนหน้านั้น
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#14
Post
by bank9597 » Wed Oct 30, 2013 7:51 pm
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#15
Post
by มัคกี้เม้า » Thu Oct 31, 2013 9:05 am
ช่วยแนะนำด้วยคะเมื่อคืนนอนคิดทั้งคืน คิดไม่ออกเลยคะ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#16
Post
by bank9597 » Thu Oct 31, 2013 11:25 am
ลองดูตามไฟล์แนบครับ ผมปรับและเพิ่มโค๊ดให้แล้ว คิดว่าสามารถนำไปปรับใช้เองได้ ไม่น่าจะยากครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#17
Post
by มัคกี้เม้า » Fri Nov 01, 2013 5:28 pm
ขอบคุณคะคุณแบงค์ ในกรณีเครื่องที่เป็นโน๊ตบุ๊คไม่ใช่ โปรแกรม XP เป็น Vistra จะต้องตั้งค่าเครื่องยังไงคะที่จะให้ Macroรันโปรแกรมได้
ตอนนี้ตั้งค่าเครื่องแล้วแตมันไม่ตอบสนองเลยคะเฉพาะ Vistra นะคะ
มัคกี้เม้า
Member
Posts: 104 Joined: Wed Jan 12, 2011 10:20 am
#19
Post
by มัคกี้เม้า » Mon Nov 04, 2013 10:38 am
ขอบคุณคะมีเรื่องอยากถาม เกี่ยวกับการปลดล็อคเพื่อเพิ่มชีสเข้าไปแล้วล็อคชีสไว้เหมือนเดิมต้องทำอย่างไรคะ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#20
Post
by bank9597 » Mon Nov 04, 2013 10:45 am
มัคกี้เม้า wrote: ขอบคุณคะมีเรื่องอยากถาม เกี่ยวกับการปลดล็อคเพื่อเพิ่มชีสเข้าไปแล้วล็อคชีสไว้เหมือนเดิมต้องทำอย่างไรคะ
ไปที่เมนู Review แล้วกดที่ protect Workbook โปรแกรมก็จะปลดล็อคให้ เนื่องจากผมไม่ได้ใส่รหัสไว้ จากนั้น เพิ่มชีทที่ต้องการ
เมื่อเพิ่มเสร็จแล้ว ก็กดปุ่ม "กลับหน้าแรก" ในชีทใดชีทหนึ่ง ชีทก็จะถูกซ่อนไปเอง
เหตุที่อาจารย์คนควนให้เราเขียน VBA มาก่อนก็เพราะแบบนี้เอง เนื่องจาก VBA ไม่ได้ทำได้ง่าย เหมือนแค่การวางสูตร แต่มันต้องรู้พื้นฐานพอสมควร หากไม่รู้อะไรเลยก็เท่ากับจะต้องจับมือเขียนเลยทีเดียว ทำเองปรับเองไม่ได้ ดังนั้นหากต้องใช้ VBA จำเป็นต้องศึกษามาก่อนอย่างจริงจัง เพื่อจะได้ปรับแก้ไขได้เองตามความเหมาะสมครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ