Page 1 of 1

การวน loop ของ array

Posted: Tue Sep 03, 2013 11:33 pm
by zxcv

Code: Select all

Dim CostCenter() As String
Dim n, ccn As Integer


For n = 0 To UBound(CostCenter)
            ccn = ccn + 1
            ReDim Preserve CostCenter(0 To (UBound(CostCenter) + 1))
            CostCenter(UBound(CostCenter)) = ActiveCell.Value
Next
เป็นการเลื่อนเซลลงมาทีละแถวๆ(ไม่ได้แสดง code) แล้วเช็คค่าใน array ว่าซ้ำกับค่าของเซลหรือไม่ หากไม่ซ้ำให้เพิ่มขนาดของ array และนำค่าในเซลมาใส่

แต่เกิด Run time error '6' Overflow ที่ For ... Next โดยขนาดของ array บวมมากๆ
ลองนำ For .... Next ออก ก็ไม่มี error ครับ

ต้องเพิ่ม code อย่างไรครับ ถึงจะแก้ Oveflow ได้ครับ

Re: การวน loop ของ array

Posted: Tue Sep 03, 2013 11:48 pm
by bank9597
:D หากแนบไฟล์ตัวอย่ามาด้วย จะดีมากเลยครับ เพราะจะได้นำไปทดสอบได้


vba ผมไม่ถนัด ต้องรอให้ท่านอื่นมาช่วยดูอีกทีครับ :oops:

Re: การวน loop ของ array

Posted: Wed Sep 04, 2013 9:35 am
by zxcv
แก้ไขได้แล้วครับ
code ดังกล่าวมีการเพิ่มขนาด array ตลอดเวลา โดยไม่มีการดักค่าที่ถูกต้องครับ

ขอบคุณครับ