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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#1
Post
by porkub1 » Tue Feb 11, 2014 3:06 pm
เรียน พี่ๆๆ ทุกคนครับ
อยากจะให้ช่วย แก้ไข เพิ่มเติม ไฟล์นี้ โดยคือ
1. Userform ชื่อ "ข้อมูลเบื้องต้น" เมื่อกรอกข้อมูลครบถ้วน แล้ว กด ที่ ปุ่มบันทึก อยากให้ข้อมูลนั้น ไป บันทึกในชีท "บันทึกข้อมูล" เซลล์ B3 ครับ
2. ในชีท แบบสอบถาม จะทำอย่างไรไม่ให้ checkbox ติ๊ก 2 ช่องพร้อมกัน หรือถ้าทำไม่ได้ ขอให้มีกล่องข้อความเตือนว่า อย่าติก 2 ช่องพร้อมกัน
3. ปุ่มยกเลิก จะเป็นการ เคลียร์ข้อมูล ทั้ง การติ๊กในแบบสอบถาม และเคลียร์ ข้อความใน textbox ครับ
4. อยากให้มีกล่องข้อความเตือน ในกรณี "ไม่ได้ติ๊กเลือกคำตอบ" เพราะที่ทำได้จะเป็น เมื่อพิมพ์ข้อความในกล่อง แต่ไม่ได้ติ๊กอะไรเลย ยังสามารถไปข้อต่อไปได้อยู่ อยากให้เตือนด้วยอะครับ
และเมื่อทำแบบสอบถามไปแล้ว มีการบันทึกผล ลงในชีท "บันทึกข้อมูล" เริ่มต้นในเซลล์ B9 ลงไป โดยกำหนด ถ้าติ๊ก ใช่ แสดงค่าเป็น 1 ถ้าติ๊กไม่ แสดงค่าเป็น 0
5.กรณีชีท "แบบสอบถาม"
กรณี เงื่อนไข
ถ้าข้อ 1.3 ติ๊ก ได้ และกรอกข้อความ จะมีข้อความว่า จะไปที่ข้อ 2.1 ในชีท "แบบสอบถามข้อ2"
ถ้า ติ๊ก ไม่ และกรอกข้อความ จะมีข้อความว่า จะไปข้อ 2.2 ในชีท "แบบสอบถามข้อ3"
โดยทั้งหมดบันทึกข้อมูลในชีท " "บันทึกข้อมูล" เสมอ
ขอบคุณมากครับ ผมมือใหม่มากเลย ศึกษาแบบงูๆๆปลาๆๆมาก ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Tue Feb 11, 2014 3:43 pm
เปลี่ยน CheckBox ให้เป็น Option Button เพื่อจะได้เลือกเพียงอันใดอันหนึ่ง หลังจากเปลี่ยนแล้วแนบไฟล์มาดูกันต่อครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#3
Post
by porkub1 » Tue Feb 11, 2014 3:59 pm
ขอบคุณครับพี่ snasui ผมได้ลองเป็น option button แล้ว แต่พอตอบข้อ อื่นๆ ตัวจุดดำที่เลือกไว้มันเลื่อน ไปข้ออื่นๆตาม ครับ ผมเลยลองใช้ checkbox ต้องขอโทษพี่ๆๆด้วยนะครับ ที่อาจจะผิดกฏ ในบอร์ดนี้ ในบางข้อ แต่เจตนาไม่ได้ตั้งใจนะครับ ผมลองเนื่องจากโดนมอบหมายมาอีกที นึงและมีความจำเป็นใช้ด่วนด้วย จากไฟลืดังกล่าว ยอมยินดีให้แก้ไข ชี้แนะ แนะนำได้เลยครับ ไฟล์นี้รวมความรู้ของผมทั้งหมดแล้วอะครับ
งั้นขอแนบมาใหม่นะครับ
ขอบคุณมากจริงๆๆนะครับ ความรู้เรื่องนี้น้อยมากจริง ขอคำชี้แนะทุกข้อแนะนำเลยครับ
You do not have the required permissions to view the files attached to this post.
Last edited by
porkub1 on Tue Feb 11, 2014 4:07 pm, edited 1 time in total.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Tue Feb 11, 2014 4:05 pm
ใช้ Group Box มาครอบ Option Button ที่เป็นชุดเดียวกัน เพื่อแยกชุดออกจากกันกับชุดอื่น ๆ ครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#5
Post
by porkub1 » Tue Feb 11, 2014 4:19 pm
ลองใช้ group box แล้ว ยังเลื่อนอยู่เลยอะครับ อาจารย์ Snasui ผมตั้ง set groupbox อะไรด้วยมั้ยอะครับ
ถ้ารำคาญต้องขอโทษนะครับ เพราะทุกคำแนะนำผมได้จด และนำไปประยุกต์ ต่อๆไป ขอบคุณครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Tue Feb 11, 2014 4:31 pm
แนบไฟล์ล่าสุดมาดูกันครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#7
Post
by porkub1 » Tue Feb 11, 2014 4:37 pm
ครับแนบมาเบื้องต้นครับ กระทู้ผมคงเปลืองเนื้อที่เว็บมากเลย ขออภัยนะครับ ผมรีบใช้จริงก็เลยทำไม่เรียบร้อย เท่าไร อันนี้เหมือนไฟล์ตัวอย่าง เพราะผมจะนำ code ที่ได้ไปใช้ในไฟล์ตัวจริง ครับ
You do not have the required permissions to view the files attached to this post.
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#8
Post
by porkub1 » Tue Feb 11, 2014 4:47 pm
ถึงอาจารย์ครับ Option Button ของ form controls จะแบ่งได้ ครับ แต่ที่นี้ Option Button ของผมมีความตั้งใจจะติ๊กแล้วมีกล่องข้อความเตือนขึ้นมาด้วย ไม่ทราบว่า Option Button ของ form controls เมื่อติ๊กจะมีข้อความเตือนขึ้นมายังไงอะครับ ขอบคุณมากครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#9
Post
by snasui » Tue Feb 11, 2014 5:09 pm
คุณสามารถถามได้เต็มที่ ไม่ต้องเกรงใจ ผมไม่กลัวเปลืองพื้นที่เว็บ สบายใจได้ ค่อย ๆ ถามตอบกันไปครับ
สำหรับการเขียน Option ให้ใช้ Form Control ผมทำตัวอย่างมาให้ดูตามไฟล์แนลครับ การ Tick แล้วมีข้อความหรืออืืน ๆ ต้องเขียน Code เข้าไปกำกับครับ
You do not have the required permissions to view the files attached to this post.
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#10
Post
by porkub1 » Tue Feb 11, 2014 5:17 pm
ขอบพระคุณมากครับ อาจารย์ SNASUI ผมจะลอง ศึกษาดูครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#11
Post
by porkub1 » Tue Feb 11, 2014 5:21 pm
อาราย์ครับ กรณีจะเขียนสูตรใน form controls เป็น code เหมือน activex controls ยังไงอะครับ แล้วจะเขียนได้เหมือนกัน หรือไม่ครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#12
Post
by snasui » Tue Feb 11, 2014 7:59 pm
สำหรับการเขียน Code ควบคุม Control จะคล้ายคลึงกัน ลองพยายามศึกษาและเขียนมาเองก่อน ติดตรงไหนสามารถถามมาได้เรื่อย ๆ ใน snasui.com ก็มีให้ศึกษาพอสมควรครับ ตัวอย่างตาม Link นี้ครับ
Control
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#13
Post
by porkub1 » Tue Feb 11, 2014 8:47 pm
กล่องพอทำได้แล้วครับ เหลือแต่ การดึงข้อมูล ที่ กรอก ไปยัง ชีท "บันทึกข้อมูล" ครับ เพราะตอนนี้ทำได้แต่ดึงใน ชีทเดียวกันครับ ขอรบกวนอาจารย์ ชี้แนะด้วยค้าบ ใกล้สำเร็จ แล้วดีใจมากครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#14
Post
by snasui » Tue Feb 11, 2014 8:56 pm
porkub1 wrote: ขอรบกวนอาจารย์ ชี้แนะด้วยค้าบ
อ่านกฎการใช้บอร์ดด้านบนด้วยนะครับ
ไม่อนุญาตให้ใช้ภาษาแชท กรณีที่ผมเตือนบ่อย ๆ จะส่งผลกระทบต่อความเป็นสมาชิกครับ
ควรแนบไฟล์ที่ปรับปรุงมาล่าสุด ชี้ให้เห็นว่าติดที่ Procedure ไหน บรรทัดใด จะได้เข้าถึงปัญหาใดโดยไวครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#15
Post
by porkub1 » Tue Feb 11, 2014 9:24 pm
ขออภัยครับ เดี๋ยวผมจะส่งไปให้นะครับ ขอบคุณครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#16
Post
by porkub1 » Wed Feb 12, 2014 8:41 am
เพิ่มเติม ครับ อยากจะให้ช่วย ดูให้หน่อยครับ ติดนานมากครับ ไฟล์นี้ โดยคือ
Userform ชื่อ "ข้อมูลเบื้องต้น" เมื่อกรอกข้อมูลครบถ้วน แล้ว กด ที่ ปุ่มบันทึก(CommandButton1) อยากให้ข้อมูลนั้น ไป บันทึกในชีท "บันทึกข้อมูล"(sheet ที่4) เซลล์ B3 ครับ
โค้ดครับ
Code: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox ("กรุณากรอกชื่อของท่าน")
ElseIf TextBox2.Value = "" Then
MsgBox ("กรุณากรอกนามสกุลของท่าน")
ElseIf TextBox3.Value = "" Then
MsgBox ("กรุณากรอกหน่วยงาน/ฝ่ายของท่าน")
ElseIf TextBox4.Value = "" Then
MsgBox ("กรุณากรอกชื่อกระบวนการจัดการที่ท่านตอบแบบสอบถาม")
Else:
strvaluemsg = MsgBox("ข้อมูลของท่านได้บันทึกแล้ว เริ่มตอบแบบสอบถาม ขอบคุณ", vbOKOnly + 64, "ขอบคุณ")
Unload Me
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "นาย"
.AddItem "นางสาว"
.AddItem "อื่นๆ"
End With
End Sub
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#17
Post
by snasui » Wed Feb 12, 2014 10:12 am
ตัวอย่าง Code ตามด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox ("กรุณากรอกชื่อของท่าน")
ElseIf TextBox2.Value = "" Then
MsgBox ("กรุณากรอกนามสกุลของท่าน")
ElseIf TextBox3.Value = "" Then
MsgBox ("กรุณากรอกหน่วยงาน/ฝ่ายของท่าน")
ElseIf TextBox4.Value = "" Then
MsgBox ("กรุณากรอกชื่อกระบวนการจัดการที่ท่านตอบแบบสอบถาม")
Else:
Sheets("บันทึกข้อมูล").Range("b3") = TextBox1.Value & " " & TextBox2.Value & " " & TextBox3.Value & " " & TextBox4.Value
strvaluemsg = MsgBox("ข้อมูลของท่านได้บันทึกแล้ว เริ่มตอบแบบสอบถาม ขอบคุณ", vbOKOnly + 64, "ขอบคุณ")
Unload Me
End If
End Sub
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#18
Post
by porkub1 » Wed Feb 12, 2014 11:23 am
ได้แล้วครับอาจารย์
ขออนุญาตเพิ่มเติมครับ
ถ้าจัดเก็บ text box1 ไปจัดเก็บ B3
TextBox2 ไปเก็บ C3
TextBox3 " D3
TextBox4 " E3
รบกวนด้วยนะครับ ขอบคุณ อาจารย์ ครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#19
Post
by snasui » Wed Feb 12, 2014 11:51 am
ลองปรับมาเองก่อน ติดแล้วค่อยถามกันต่อครับ
porkub1
Member
Posts: 34 Joined: Tue Feb 11, 2014 11:22 am
#20
Post
by porkub1 » Wed Feb 12, 2014 1:03 pm
ได้ครับ จะลองดูก่อนได้ครับ ขอบคุณมากครับ