Page 1 of 2
การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 5:05 pm
by tid_champ
ผมติดเรื่อง Function ไม่ยอมทำงาน จะต้องเขียนเรียกที่ใหนหรอครับให้มันวนLoopเรียกFunctionนี้ตลอดเวลา จนกว่าจะปิด From ซึ่งFunction นี้ผมเขียนไว้ในFrom ที่2ครับ อย่างเช่นในกรณีเขียนC++ จะมี Void Loop ถ้าเขียน Call function ในนี้มันจะทำงานตลอดเวลา ผมสงสัยว่า VBA จะเขียนอย่างไรครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 5:12 pm
by snasui

ช่วยแนบไฟล์พร้อม Code ที่ติดปัญหามาด้วยจะได้ช่วยทดสอบได้ครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 5:19 pm
by tid_champ
ที่ From set1 ครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 5:37 pm
by snasui

ช่วยอธิบายขั้นตอนการทดสอบ ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการมาด้วยครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 6:06 pm
by tid_champ
ในFrom Set 2 เวลาCheckbox ใดๆ ถูกติ๊ก จะนำค่าp(0) - p(60) บวกกัน แล้วเก็บไว้ในตัวแปลTotal1 ครับ ปัจจุบันผมใช้ปุ่มSum สั่งงานมันครับ อยากให้เมื่อเกิดเหตุการณ์กับCheckbox ก็ให้เรียก Function Cal1 หรือ ให้ วนLoop เรียก Function Cal1 ทุกวินาทีในขณะที่ From Set1 ถูกเปิดอยู่ครับ
รบกวนด้วยครับผมเพิ่งหัดเขียนน่ะครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 6:39 pm
by snasui

Double Click CheckBox แต่ละตัวแล้วเพิ่ม Code ตาม
ตัวอย่างด้านล่างครับ
Code: Select all
Private Sub CheckBox1_Click()
Call Cal1
End Sub
Private Sub CheckBox2_Click()
Call Cal1
End Sub
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 6:52 pm
by tid_champ
อีกข้อนึงครับ อาจารย์ ถ้าในกรณีที่่ค่าในตัวแปร Public Total1 เปลี่ยนแปลงให้แสดงค่าใน txtcap1 ที่อยู่ในfrom Main ครับ ต้องเขียนCode ลักษณะใหนและใส่ไว้ที่ใหนครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 7:06 pm
by snasui

ปกติยอดจะเปลียนทุกการคลิก CheckBox อยู่แล้ว เราสามารถปรับ Code ด้านบนเป็นตามด้านล่างได้ครับ
Code: Select all
Private Sub CheckBox1_Click()
Call Cal1
Main.txtcap1.Text = Total1
End Sub
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 7:12 pm
by tid_champ
ขอบคุณครับ อาจารย์ แล้วถ้าผมอยากให้checkbox คงค่าเดิมเอาไว้ ในกรณีที่ปิดFrom ไป ถ้าเปิดขึ้นมาใหม่ให้ตัวที่Check อยู่เหมือนเดิมต้องทำอย่างไรครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 9:02 pm
by snasui

หากเราปิด Form ด้วย Unload จะทำให้ค่าต่าง ๆ ถูกลบทิ้ง ให้ใช้การ Hide แทน เช่นจากเดิม Code คือ
Unload Me ก็ปรับเป็น
Me.Hide เป็นต้น
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Wed Aug 06, 2014 9:27 pm
by tid_champ
ขอบคุณครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 1:32 pm
by tid_champ
รบกวนอีกรอบ หน้าset 1 ผมใส่ combobox 0-1 ก็runได้ปรกติ แต่พอใส่ Combobox2 ก็เกิดError เป็นเพราะอะไรครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 2:02 pm
by snasui

ไฟล์ที่แนบมา UserForm ที่ชีอ Set1 ไม่มี Control ที่ชื่อ ComboBox0 ช่วยตรวจสอบและแนบมาใหม่อีกครั้งครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 2:18 pm
by tid_champ
ขออภัยครับ อีกรอบ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 3:16 pm
by snasui

ลองปรับ 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
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 10:52 pm
by tid_champ
อาจารย์ครับ จะเขียนโค๊ดอย่างไรให้ เวลาเราคลิ๊กที่ textbox แล้วปฏิทิน ขึ้นมาให้เลือกวัน หลังจากนั้นให้วันที่เข้าไปอยู่ในtextbox น่ะครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Thu Aug 07, 2014 11:34 pm
by snasui

จะมีปฏิทินได้ก็ต้องสร้าง Control ที่เป็นปฏิทินขึ้นมาใช้เองครับ (ใน Excel รุ่น 2010+ ไม่มี Date Time Picker ให้ใช้)
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Fri Aug 08, 2014 9:06 am
by tid_champ
คือผมสร้างมาแล้วแต่เวลาคลิ๊กเลือก ที่ปฏิทินแล้วค่าไม่ลงไปในTextBox น่ะครับ ไม่ทราบว่าจะmoveค่าอย่างไร
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Fri Aug 08, 2014 9:15 am
by snasui

แนบไฟล์ตัวอย่างที่เกิดปัญหานั้นมาพร้อมขัันตอนการทำงาน ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการให้เป็นมาด้วยจะได้ช่วยตรวจสอบได้ครับ
Re: การ วนloop เพื่อเรียก Function ตลอดเวลา
Posted: Fri Aug 08, 2014 6:23 pm
by tid_champ
รบกวนช่วยดูCode ให้หน่อยครับ ผมทำpopup ขึ้นมาแล้วแต่ เวลาคลิ๊กแล้ว Error ครับ