Page 1 of 1

ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Fri Jan 17, 2020 10:23 pm
by nuttanan2140
ต้องการรับค่า จาก textbox มาเก็บไว้ในอาเรย์แต่ละตัวเพื่อจะนำแต่ละตัวไป ทำการ รวมค่า sum โดยต้องการให้เมื่อใส่ค่าแล้วกดบันทึก ช่องจะกฃับมาว่างเพื่อใส่ค่าตัวต่อไปได้

Code: Select all

Private Sub cmbsave_Click()
    Dim suminfo(300) As Double
    Dim i As Integer
    Dim num As Long
    Dim info(300) As Variant
 num = txtnum
  For i = 1 To txtnum
  If txtinfo <> "" Then
       info(i) = txtinfo
Else
   MsgBox "please fill information", vbOKOnly + vbInformation, "information"
   txtinfo.BackColor = vbRed
End If
Next i
suminfo = 0
For i = 1 To txtnum
       suminfo = suminfo + info(i)
Next i
label4 = suminfo
End Sub

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Fri Jan 17, 2020 11:16 pm
by snasui
:D กรุณาแนบไฟล์ Excel ที่เขียน Code นี้เอาไว้แล้วมาด้วย จะได้สะดวกในการตอบของเพื่อนสมาชิกครับ

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Sat Jan 18, 2020 2:53 pm
by nuttanan2140
นี่ครับ ข้อมูลที่ถามอยู่ใน userform ที่ชื่อว่า direc ครับ

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Sat Jan 18, 2020 4:28 pm
by snasui
:D ลองลำดับการทำงาน ยกตัวอย่างค่าที่คีย์ จำนวนครั้งที่ทำ ตัวอย่างคำตอบที่ต้องการมาด้วยจะได้ช่วยทดสอบให้ได้

ควรแจ้งว่า Code อยู่ใน Class ใด Module ใด จะได้เข้าถึงปัญหาได้โดยไวครับ

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Sat Jan 18, 2020 10:45 pm
by nuttanan2140
ช่อง textbox ด้านบนจะรับค่าจำนวนขอตัวเลขที่ต้องการจะบันทึก เช่น 10 ค่า ส่วนtextbox ด้านล่างจะรับค่าตัวเลขแต่ละตัว เช่น 10,3,5,11
โดนจะต้องใส่ตัวเลขที่ละค่า แล้วจึงกดบันทึกแต่ละครั้ง เมื่อกดปุ่มบันทึก โปรแกรมจะทำการรันเก็บค่านั้นๆ ไว้ในอาเรย์แต่ละอาเรย์ ไปเรื่อยๆ หลังจากนั้นก็จะทำการคำนวณค่า sum ของทั้งอาเรย์ออกมา

code จะอยู่ใน form ในปุ่ม บันทึกครับ ขอบคุณครับ :)

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Sun Jan 19, 2020 12:41 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Dim info(300) As Variant
Dim l As Long

Private Sub cmbsave_Click()
    Dim suminfo As Double
    Dim i As Integer
    If l >= CLng(txtnum.Value) Then
        MsgBox "Not record"
        Exit Sub
    End If
    If txtinfo <> "" Then
        l = l + 1
        info(l) = CLng(txtinfo)
    Else
        MsgBox "please fill information", vbOKOnly + vbInformation, "information"
        txtinfo.BackColor = vbRed
    End If

    suminfo = 0
    For i = 1 To UBound(info)
        suminfo = suminfo + info(i)
    Next i

label4 = suminfo

End Sub

Re: ช่วยแก้ไขcode ให้สามารถมารถรับค่ามาเก็บใน array แต่ละตัวหน่อยครับ

Posted: Mon Jan 20, 2020 12:20 am
by nuttanan2140
code สามารถใช้ได้เลยครับ ขอบคุณมากนะครับ :D :D