snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#1
Post
by yodpao.b » Mon Sep 12, 2011 1:45 pm
ต้องการทำเมนูใช้เองแต่อยากได้เหมื่อนเมนูบาร์ทำอย่างไรครับ อาจารย์ช่วยทำตัวอย่างสักเมนูนะครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Mon Sep 12, 2011 4:13 pm
การสร้างเมนูเองสามารถคลิกเมนู Tools > Customize เลือก Macros > เลือก Custom menu item ด้านขวา > คลิก Modify selection > กำหนดค่าตามต้องการ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#3
Post
by yodpao.b » Tue Sep 13, 2011 1:14 pm
ผมอาจสื่อความหมายผิด ที่ต้องการคืออยากสร้างเป็นเมนูเอง โดยทำลักษณะเหมือเมนูบาร์ของexcel
ที่วงไว้คือส่วนหนึ่งของเมนู แต่มันไม่สวยเหมือนด้านบน
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Tue Sep 13, 2011 4:14 pm
เมนูต้องสร้างด้วย Object ที่เป็นเมนูของโปรแกรมครับ จะสร้างเองหรือใช้ VBA สร้างก็ได้ จะสร้างให้เป็น ComboBox ตามตัวอย่างที่ให้มานั้นเป็นเรื่องยาก หากจะทำได้ต้องสร้าง Class ขึ้นมาเองครับ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#5
Post
by yodpao.b » Wed Sep 14, 2011 11:15 am
ขอตัวอย่างได้ไหมครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Wed Sep 14, 2011 11:28 am
ไม่มีตัวอย่างครับและไม่เคยเห็นใครทำเช่นนั้นด้วยครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#7
Post
by snasui » Wed Sep 14, 2011 8:29 pm
ตัวอย่างด้านล่างเป็นการสร้าง Custom เมนูแบบ ComboBox
หลังจากนำ Code ไปวางแล้ว ลอง Run Sub ComboToolbar จากนั้นเลือก แต่ละ Item ในเมนูที่สร้างขึ้นมาแล้วสังเกตดูผลครับ
Code: Select all
Sub ComboToolbar()
Set myBar = CommandBars _
.Add(Name:="Custom", Position:=msoBarTop, _
Temporary:=True)
myBar.Visible = True
Set newCombo = myBar.Controls _
.Add(Type:=msoControlComboBox)
With newCombo
.AddItem "Q1"
.AddItem "Q2"
.AddItem "Q3"
.AddItem "Q4"
.Style = msoComboNormal
.OnAction = "ScrollToQuarter"
End With
End Sub
Sub ScrollToQuarter()
Dim userChoice As Long
userChoice = CommandBars("Custom").Controls(1).ListIndex
Select Case userChoice
Case 1
MsgBox "Q1 is selected"
Case 2
MsgBox "Q2 is selected"
Case 3
MsgBox "Q3 is selected"
Case 4
MsgBox "Q4 is selected"
End Select
End Sub
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#8
Post
by yodpao.b » Thu Sep 15, 2011 9:17 am
อันนี้ไว้ก่อนนะครับจารย์ ผมมีตัวอย่างไว้จะให้อาจารย์ดูครับ ไฟล์มันใหญ่กำลังหาทางตัดออก
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#9
Post
by yodpao.b » Thu Sep 15, 2011 10:45 am
อันที่อาจารย์ให้น่าจะคล้ายกันกับตัวอย่างที่ผมแนบมา อาจารย์ช่วยดูอีกที่ครับ อยากได้แบบนี้มากครับ
แนบรูปมาให้ด้วยครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Thu Sep 15, 2011 11:33 am
ดูตัวอย่างการสร้างเมนูใช้เองตามภาพด้านล่างครับ
You do not have the required permissions to view the files attached to this post.
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#11
Post
by yodpao.b » Thu Sep 15, 2011 12:00 pm
ขอบพระคุณมากครับ ที่นี้ก็ได้เมนูสวยสวยไว้แล้ว
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#12
Post
by yodpao.b » Fri Sep 30, 2011 11:14 am
เมนูที่อาจาร์ยสอน ในกรณีที่ผมนำไฟล์ไปใช้กับเครื่องอื่น เมนูมันไม่ตามไปครับ และเมนูนี้จะอยู่ที่เครื่องเดิม
คำถาม ทำอย่างไรให้เมนูตามไปไม่ให้ค้างไว้เครือ่งเดิม
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#13
Post
by snasui » Fri Sep 30, 2011 3:22 pm
จากภาพด้านบน
คลิกปุ่ม Attach... ที่อยู่ด้านล่างปุ่ม Reset จะสามารถกำหนดให้แนบเครื่องมือไปกับไฟล์ได้ครับ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#14
Post
by yodpao.b » Wed Oct 05, 2011 12:18 pm
ได้แล้วครับอาจารย์ แต่ตั้งสั่งรัน Sub ComboToolbar ใน ThisWorkBook ใช่ไหมครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#15
Post
by snasui » Wed Oct 05, 2011 12:53 pm
อันนี้ก็แล้วแต่ว่า Code อยู่ที่ไหนครับ ถ้าเมนูกับไฟล์ไปด้วยกันก็ควรจะเป็นเช่นนั้นครับ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#16
Post
by yodpao.b » Wed Oct 05, 2011 2:35 pm
อาจาร์ยครับเอาใหม่ผมงง
หลักการสร้างเมนูขึ้นใช้งานในไฟล์แต่เมื่อเอาไฟล์ไปใช้เครื่องไหนเมนูก็จะตามไปใช้งานร่วมกับไฟล์นั้นด้วย ทำอย่างไร
จากตัวอย่างที่ส่งให้อาจาร์ย ผมยังไม่ได้ลองนำไปใช้กับเครื่องอื่น แต่เห็นปัญหาที่เกิดขึ้นใหม่ คือ เมื่อเปิดไฟล์Excelอื่นเมนูที่สร้างขึ้นนั้นยังขึ้นค้างอยู่
มันควรจะไม่แสดงให้เห็น
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#17
Post
by snasui » Wed Oct 05, 2011 4:55 pm
yodpao.b wrote: อาจาร์ยครับเอาใหม่ผมงงหลักการสร้างเมนูขึ้นใช้งานในไฟล์แต่เมื่อเอาไฟล์ไปใช้เครื่องไหนเมนูก็จะตามไปใช้งานร่วมกับไฟล์นั้นด้วย ทำอย่างไร แต่เห็นปัญหาที่เกิดขึ้นใหม่คือ เมื่อเปิดไฟล์Excelอื่นเมนูที่สร้างขึ้นนั้นยังขึ้นค้างอยู่มันควรจะไม่แสดงให้เห็น
การทำเช่นนั้นต้องพึ่ง VBA ในการสร้างเมนู เมื่อเปิดไฟล์จะแสดงเมนูมาให้ เมื่อปิดก็ลบเมนูทิ้งไปครับ หากต้องการเช่นนั้นก็เขียนมาก่อนครับ ติดตรงไหนก็มาช่วยกันดูต่อครับ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#18
Post
by yodpao.b » Thu Oct 06, 2011 9:27 am
เข้าใจแล้วครับ
เนื่องจากผมตั้งไปปฎิบัติงานต่างจังหวัด 4 วัน
ก่อนไปผมขอเรียนปรึกษาอาจารย์ว่าอาจารย์สามารถให้คำปรึกษาเกียวกับ MsAccess ได้ไหมครับ
เพราะมีนักศึกษาฟึกงานเขียนไว้ให้แต่ยังไม่สมบูรณ์ เข้าใจว่าน่าจะยังไม่มีการ คิวรี และทำ Report
ขอบคุณครับ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#19
Post
by snasui » Thu Oct 06, 2011 11:47 am
ถ้าเป็นเมื่อสักเกือบสิบปีที่แล้วก็พอได้ครับ ตอนนี้ผมใช้งาน Access น้อยมาก การตอบคำถามอาจจะต้องกลับไปทบทวนกันอีกเยอะ เกรงจะเสียเวลารอคอยนานครับ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#20
Post
by yodpao.b » Tue Oct 11, 2011 3:07 pm
อยากให้เมนูที่วงกลมหายไปครับ ลองทำเองโดยใช้คำสั่ง
Code: Select all
Application.CommandBars("Worksheet Menu Bar").Visible = False
แต่ Eeror ครับ
ช่วยแก้ให้ด้วยครับ
Untitled1.gif
You do not have the required permissions to view the files attached to this post.