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
:D ช่วยแนบไฟล์พร้อม 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
:D ช่วยอธิบายขั้นตอนการทดสอบ ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการมาด้วยครับ

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
:D 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
:D ปกติยอดจะเปลียนทุกการคลิก 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
:D หากเราปิด 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
:D ไฟล์ที่แนบมา 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
:D ลองปรับ 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
:D จะมีปฏิทินได้ก็ต้องสร้าง 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
:D แนบไฟล์ตัวอย่างที่เกิดปัญหานั้นมาพร้อมขัันตอนการทำงาน ผลลัพธ์ที่ได้ ผลลัพธ์ที่ต้องการให้เป็นมาด้วยจะได้ช่วยตรวจสอบได้ครับ

Re: การ วนloop เพื่อเรียก Function ตลอดเวลา

Posted: Fri Aug 08, 2014 6:23 pm
by tid_champ
รบกวนช่วยดูCode ให้หน่อยครับ ผมทำpopup ขึ้นมาแล้วแต่ เวลาคลิ๊กแล้ว Error ครับ