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 » Thu Nov 10, 2011 10:19 am
อยากถามอาจาร์ 2 ข้อครับ
ข้อ1จากรูปด้านล่าง โดยคำสั่งให้คลิกปุ่มหมายเลข 2 ฟอร์มจะขึ้นมาแล้วค่อยกรอกข้อมูลแล้วคอยสั่งให้มันนำกลับไปลงที่ textboxหมายเลข 1
แต่ว่าเป็นไปได้ไหมถ้าให้คลิกที่ช่องหมายเลข 1 แล้วฟอร์มขึ้นมาเลย พอกรอกในฟอร์มเสร็จแล้วคลิก okในฟอร์มย่อย แล้วข้อมูลก็เด้งไปอยู่ในtextboxหมายเลข 1
22222.GIF
โดคที่ได้ทดลองทำดังนี้ (โคด้อยู่ใtextbox)
Code: Select all
Private Sub TextBox111_Change()
Form3_Search1.Show
End Sub
ผลลัพท์คือตรงคีย์ตัวอักษรก่อนฟอร์มย่อยถึงจะปรากฏขึ้นมา พอคีย์ฟอร์มย่อยแล้วคลิก ok เกิด eeror เพราะคำสั่งไปซ้อนกับโดคที่เห็น
พร้อมกันนี้ได้แนบไฟล์อาจาร์ยได้ทดลอง ชื่อ ฟอร์ม Form3_NamePersonnel_AddData
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
#2
Post
by yodpao.b » Thu Nov 10, 2011 11:23 am
ข้อ2 จากรูปด้านล่าง ช่อง textbox มีไว้สำหรับเลือกแต่ถ้าลืมแล้วคียลงไปโปรแกรมจะค้าง มีวิธีใดบ้างครับที่ไม่ให้คีย์ได้ หรือคีย์เครื่องฟ้องว่าหาไม่พบ
111111.GIF
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
#3
Post
by bank9597 » Thu Nov 10, 2011 2:24 pm
ผมลองเปลี่ยนเป็น ComboBox ให้เลือกชื่อโครงการ แล้วก็แสดงข้อมูลอื่นๆขึ้นมา โดยใช้ VLOOKUP
ไม่รู้จะตรงที่ต้องการไหม ส่วนรายละเอียดอื่น ผมยังไม่ดูเลย (งานตัวเองก็ยุ่งมาก อิอิ)
น่าจะปรับใช้ได้น่ะครับ แต่หากจะให้ถูกต้องทั้งหมด ต้องรออาจารย์ตอบให้น่ะครับ รับรองชัวร์ 100 % อิอิ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#4
Post
by yodpao.b » Thu Nov 10, 2011 2:35 pm
ขอบคุณครับเปิดดูไม่ได้ครับเครื่องเป็นexcel2003 แต่หน้าสนใจตรงใช้ VLOOKUP ได้ด้วย
ขอเป็น2003ได้ไหมครับคุณbank9597
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#5
Post
by bank9597 » Thu Nov 10, 2011 2:43 pm
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#6
Post
by yodpao.b » Thu Nov 10, 2011 3:55 pm
ขอบคุณ คุณbank9597 มากครับ
ถึงจะไม่ตรงแบบที่ผมต้องการ
แต่ที่ดีกว่าคือผมสามรถใช้ VLOOKUP ได้แล้วรับรองว่าใช้ประโยชน์ได้หลายอย่าง
เพิ่งรู้ว่าสามารถให้มันทำใน Textbox ได้โดยไม่ต้องไปใส่สูตรใน excel กลับไปกลับมา ขอบคุณจริง
ช่วยแวะมาดูบางนะครับ ปัญหาของผมเยอะเขียนได้ปีกว่าแต่ไม่รู้ความหมายอะไรเลย
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#7
Post
by bank9597 » Thu Nov 10, 2011 4:06 pm
ไม่เป็นไรครับ ต้องยกเครดิตให้อาจารย์ครับ เพราะอาจารย์คือผู้สอนผมอีกทีนึง
ยังไงหากมีปัญหาที่ลึกลงกว่านี้ คงต้องให้อาจารย์ช่วยน่ะครับ ลำพังผมก็ยังไม่ค่อยรู้อะไรเลยครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#8
Post
by yodpao.b » Fri Nov 11, 2011 3:01 pm
จากรูปที่ลูกศรชี้ใส่ สกอร์บาร์ได้ไหมครับ(ที่มันเลื่อนขึ้นเลื่อนลง)
1.GIF
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
#9
Post
by yodpao.b » Fri Nov 11, 2011 3:05 pm
รบกวนอาจาร์ยช่วยดู คำถาม โพสต์เมื่อ: 10 พ.ย. 2011 14:24
ขอบคุณครับ
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 » Fri Nov 11, 2011 3:51 pm
Comment นั้นเป็นของคุณ bank9597 ครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#11
Post
by bank9597 » Fri Nov 11, 2011 4:45 pm
ข้อ2 จากรูปด้านล่าง ช่อง textbox มีไว้สำหรับเลือกแต่ถ้าลืมแล้วคียลงไปโปรแกรมจะค้าง มีวิธีใดบ้างครับที่ไม่ให้คีย์ได้ หรือคีย์เครื่องฟ้องว่าหาไม่พบ
ลองทำตามด้านล่างครับ
ให้เปิดฟอร์มดังกล่าวขึ้นมา แล้วคลิกเลือกที่ TextBox แล้วไปที่แถบ Properties ด้านซ้ายมือ ในแถบ Match Required เป็นค่าจาก False เป็น True
แล้วลอง RUN ดู ลองพิมพ์อักษรลงไปใน TextBox มันจะฟ้องทันหากไม่ตรงกับรายการที่ให้เลือก
untitled.JPG
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#12
Post
by snasui » Fri Nov 11, 2011 6:06 pm
yodpao.b wrote: จากรูปที่ลูกศรชี้ใส่ สกอร์บาร์ได้ไหมครับ(ที่มันเลื่อนขึ้นเลื่อนลง)
1.GIF
ลองปรับเลข 2 ใน Code ด้านล่างเป็นเลขใด ๆ ที่ต้องการ ซึ่งเลข 2 หมายถึงเลื่อนได้เป็น 2 เท่าของความกว้างและความสูงเดิม
Code: Select all
Private Sub UserForm_Initialize()
With Me
.ScrollBars = fmScrollBarsBoth
.ScrollHeight = .InsideHeight * 2
.ScrollWidth = .InsideWidth * 2
End With
End Sub
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 » Sat Nov 12, 2011 7:33 am
yodpao.b wrote: อยากถามอาจาร์ 2 ข้อครับ
ข้อ1จากรูปด้านล่าง โดยคำสั่งให้คลิกปุ่มหมายเลข 2 ฟอร์มจะขึ้นมาแล้วค่อยกรอกข้อมูลแล้วคอยสั่งให้มันนำกลับไปลงที่ textboxหมายเลข 1
แต่ว่าเป็นไปได้ไหมถ้าให้คลิกที่ช่องหมายเลข 1 แล้วฟอร์มขึ้นมาเลย พอกรอกในฟอร์มเสร็จแล้วคลิก okในฟอร์มย่อย แล้วข้อมูลก็เด้งไปอยู่ในtextboxหมายเลข 1
22222.GIF
โดคที่ได้ทดลองทำดังนี้ (โคด้อยู่ใtextbox)
Code: Select all
Private Sub TextBox111_Change()
Form3_Search1.Show
End Sub
ผลลัพท์คือตรงคีย์ตัวอักษรก่อนฟอร์มย่อยถึงจะปรากฏขึ้นมา พอคีย์ฟอร์มย่อยแล้วคลิก ok เกิด eeror เพราะคำสั่งไปซ้อนกับโดคที่เห็น
พร้อมกันนี้ได้แนบไฟล์อาจาร์ยได้ทดลอง ชื่อ ฟอร์ม Form3_NamePersonnel_AddData
ลองใช้ Double Click Event แทน Change Event ซึ่งผู้ใช้ต้อง Double Click TextBox ครับ
จาก
Code: Select all
Private Sub TextBox111_Change()
Form3_Search1.Show
End Subเปลี่ยนเป็น
Code: Select all
Private Sub TextBox111_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Form3_Search1.Show
End Sub
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#14
Post
by yodpao.b » Wed Nov 16, 2011 8:22 am
จากรูปด้านล่าง จะเห็นว่าเมื่อคีย์ในช่องคำจะขึ้นมาหลายคำซึ่งจะใกล้เคียงกัน คีย์จนกว่าจะเจอคำที่ต้องการแล้วค่อยเลือกหรือม่ก็คีย์จนกว่าจะหมดประโยค ผมอาจจะอธิบายไม่ถูกต้องต้องขอโทษด้วย
แต่ความต้องการช่องนั้นคือลัษณะเหมือนการคีย์ในช่อง Username หรือการค้นหาใน googel ครับ
คำถาม
ในVBA สามารถทำได้ไหมและดูได้จากไหน มีตัวอย่างไหมครับ
ขอบคุณครับ
Untitled.gif
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
#15
Post
by bank9597 » Wed Nov 16, 2011 10:59 am
เป็นการทำ Auto Validation ครับ
ลองศึกษาตามไฟล์ที่แนบให้น่ะครับ
ข้อสังเกตมีอยู่ 3 จุดคือ 1. การกำหนด ชื่อ Define-Name เพื่อทำ Data Validation เป็น Drop Down ให้เลือกรายการ
2. การกำหนดโค๊ดในชีท "Form"
3. การทำกำหนดสูตรในชีท "Name"
ลองศึกษาดูครับ วิธีการนี้ สามารถทำได้อย่างที่คุณต้องการ (อาจารย์คอนเฟิร์มแล้วครับ)
Sample_01.xls
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#16
Post
by snasui » Wed Nov 16, 2011 11:11 am
ที่คุณ bank9597 เสนอมานั้นเป็นลักษณะของ Validation แต่เท่าที่อ่านดูกรณีของคุณ yodpao.b คิดว่าเป็นคนละรูปแบบครับ ซึ่งต้องใช้ Event เข้ามาเกี่ยวข้อง เมื่อคีย์เพิ่มไปทีละอักขระก็จะหาข้อมูลให้ไปทีละอักขระตามต้องการ แต่น่าเสียดายที่ Event พวกนั้นใช้ไม่ได้กับภาษาไทย ลอง Search คำถามของคุณ Joo ใน Forum นี้เกี่ยวกับเรื่องนี้เพิ่มเติมดูครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#17
Post
by bank9597 » Wed Nov 16, 2011 11:29 am
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#18
Post
by yodpao.b » Wed Nov 16, 2011 12:02 pm
ลอง Search คำถามของคุณ Joo ใน Forum นี้เกี่ยวกับเรื่องนี้เพิ่มเติมดูครับ
ทำอย่างไรครับ
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 » Wed Nov 16, 2011 12:08 pm
ลองตามนี้ครับ
ที่ขวามือบนของ Forum นี้คลิกที่ Link
การค้นหาขั้นสูง ซึ่งอยู่ใต้กล่องค้นหา
ที่หน้าจอค้นหา
ที่กล่องคีย์เวอร์ดสำหรับค้นหา คีย์ Dropdown หากไม่ทราบสามารถปล่อยว่างได้
ที่กล่องค้นหาจากผู้แต่งคีย์ Joo
เลื่อนไปด้านล่างสุดของหน้าจอแล้วคลิกค้นหา
yodpao.b
Gold
Posts: 1608 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#20
Post
by yodpao.b » Fri Nov 18, 2011 7:53 am
ขอบคุณครับ