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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#1
Post
by tid_champ » Wed Aug 06, 2014 5:05 pm
ผมติดเรื่อง Function ไม่ยอมทำงาน จะต้องเขียนเรียกที่ใหนหรอครับให้มันวนLoopเรียกFunctionนี้ตลอดเวลา จนกว่าจะปิด From ซึ่งFunction นี้ผมเขียนไว้ในFrom ที่2ครับ อย่างเช่นในกรณีเขียนC++ จะมี Void Loop ถ้าเขียน Call function ในนี้มันจะทำงานตลอดเวลา ผมสงสัยว่า VBA จะเขียนอย่างไรครับ
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 » Wed Aug 06, 2014 5:12 pm
ช่วยแนบไฟล์พร้อม Code ที่ติดปัญหามาด้วยจะได้ช่วยทดสอบได้ครับ
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#3
Post
by tid_champ » Wed Aug 06, 2014 5:19 pm
ที่ From set1 ครับ
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:
#4
Post
by snasui » Wed Aug 06, 2014 5:37 pm
ช่วยอธิบายขั้นตอนการทดสอบ ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการมาด้วยครับ
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#5
Post
by tid_champ » Wed Aug 06, 2014 6:06 pm
ในFrom Set 2 เวลาCheckbox ใดๆ ถูกติ๊ก จะนำค่าp(0) - p(60) บวกกัน แล้วเก็บไว้ในตัวแปลTotal1 ครับ ปัจจุบันผมใช้ปุ่มSum สั่งงานมันครับ อยากให้เมื่อเกิดเหตุการณ์กับCheckbox ก็ให้เรียก Function Cal1 หรือ ให้ วนLoop เรียก Function Cal1 ทุกวินาทีในขณะที่ From Set1 ถูกเปิดอยู่ครับ
รบกวนด้วยครับผมเพิ่งหัดเขียนน่ะครับ
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 » Wed Aug 06, 2014 6:39 pm
Double Click CheckBox แต่ละตัวแล้วเพิ่ม Code ตาม
ตัวอย่าง ด้านล่างครับ
Code: Select all
Private Sub CheckBox1_Click()
Call Cal1
End Sub
Private Sub CheckBox2_Click()
Call Cal1
End Sub
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#7
Post
by tid_champ » Wed Aug 06, 2014 6:52 pm
อีกข้อนึงครับ อาจารย์ ถ้าในกรณีที่่ค่าในตัวแปร Public Total1 เปลี่ยนแปลงให้แสดงค่าใน txtcap1 ที่อยู่ในfrom Main ครับ ต้องเขียนCode ลักษณะใหนและใส่ไว้ที่ใหนครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Wed Aug 06, 2014 7:06 pm
ปกติยอดจะเปลียนทุกการคลิก CheckBox อยู่แล้ว เราสามารถปรับ Code ด้านบนเป็นตามด้านล่างได้ครับ
Code: Select all
Private Sub CheckBox1_Click()
Call Cal1
Main.txtcap1.Text = Total1
End Sub
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#9
Post
by tid_champ » Wed Aug 06, 2014 7:12 pm
ขอบคุณครับ อาจารย์ แล้วถ้าผมอยากให้checkbox คงค่าเดิมเอาไว้ ในกรณีที่ปิดFrom ไป ถ้าเปิดขึ้นมาใหม่ให้ตัวที่Check อยู่เหมือนเดิมต้องทำอย่างไรครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Wed Aug 06, 2014 9:02 pm
หากเราปิด Form ด้วย Unload จะทำให้ค่าต่าง ๆ ถูกลบทิ้ง ให้ใช้การ Hide แทน เช่นจากเดิม Code คือ
Unload Me ก็ปรับเป็น
Me.Hide เป็นต้น
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#12
Post
by tid_champ » Thu Aug 07, 2014 1:32 pm
รบกวนอีกรอบ หน้าset 1 ผมใส่ combobox 0-1 ก็runได้ปรกติ แต่พอใส่ Combobox2 ก็เกิดError เป็นเพราะอะไรครับ
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:
#13
Post
by snasui » Thu Aug 07, 2014 2:02 pm
ไฟล์ที่แนบมา UserForm ที่ชีอ Set1 ไม่มี Control ที่ชื่อ ComboBox0 ช่วยตรวจสอบและแนบมาใหม่อีกครั้งครับ
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#14
Post
by tid_champ » Thu Aug 07, 2014 2:18 pm
ขออภัยครับ อีกรอบ
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:
#15
Post
by snasui » Thu Aug 07, 2014 3:16 pm
ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
'Calculate
Public Sub Cal1()
Total1 = (p(0) * Val(ComboBox0)) + (p(1) * Val(ComboBox1)) + (p(2) * Val(ComboBox2))
TextBox1.Value = Total1
Main.txtcap1.Text = Total1
End Sub
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#16
Post
by tid_champ » Thu Aug 07, 2014 10:52 pm
อาจารย์ครับ จะเขียนโค๊ดอย่างไรให้ เวลาเราคลิ๊กที่ textbox แล้วปฏิทิน ขึ้นมาให้เลือกวัน หลังจากนั้นให้วันที่เข้าไปอยู่ในtextbox น่ะครับ
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 » Thu Aug 07, 2014 11:34 pm
จะมีปฏิทินได้ก็ต้องสร้าง Control ที่เป็นปฏิทินขึ้นมาใช้เองครับ (ใน Excel รุ่น 2010+ ไม่มี Date Time Picker ให้ใช้)
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#18
Post
by tid_champ » Fri Aug 08, 2014 9:06 am
คือผมสร้างมาแล้วแต่เวลาคลิ๊กเลือก ที่ปฏิทินแล้วค่าไม่ลงไปในTextBox น่ะครับ ไม่ทราบว่าจะmoveค่าอย่างไร
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 » Fri Aug 08, 2014 9:15 am
แนบไฟล์ตัวอย่างที่เกิดปัญหานั้นมาพร้อมขัันตอนการทำงาน ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการให้เป็นมาด้วยจะได้ช่วยตรวจสอบได้ครับ
tid_champ
Member
Posts: 18 Joined: Wed Aug 06, 2014 4:52 pm
#20
Post
by tid_champ » Fri Aug 08, 2014 6:23 pm
รบกวนช่วยดูCode ให้หน่อยครับ ผมทำpopup ขึ้นมาแล้วแต่ เวลาคลิ๊กแล้ว Error ครับ
You do not have the required permissions to view the files attached to this post.