Page 1 of 1

มีวิธี ทีจะหาค่าซ้ำกันใน array โดยเราไม่เก็บเป็น Collection

Posted: Wed Jun 12, 2013 9:58 am
by angleblack

Code: Select all

last_row = Range("B" & Rows.Count).End(xlUp).Row
            start_row = 2
            Dim Totcol As Integer
            Totcol = last_row - start_row
            ReDim errorcnt(Totcol)
            For I = 0 To Totcol
                arrhd = Split(Cells(I + start_row, 2).Value, "@")
                
                Dim aa As New Collection
                Dim b() As Variant
                Dim k As Variant
                Dim j, y As Integer
                Dim z As Integer
                z = 1
                On Error Resume Next
                For Each k In arrhd
                    aa.Add k, k
                    Flag_foundError = True
                Next k
                
                On Error GoTo 0
                If Not Flag_foundError Then
                  GetResultName = False
                  Exit Function
                End If

                 ReDim Preserve errorcnt(I).Resultname(aa.Count - 1)
                 ReDim Preserve errorcnt(I).ResultNumber(aa.Count - 1)
                For j = 0 To aa.Count - 1
                   errorcnt(I).Resultname(j) = aa(j + 1)
                   
                Next j

           Next I
พอดีว่าผมมี 1 ไฟล์ excel แล้วใน excel มีหลายบรรทัด แล้วมี ข้อมูลทีซ้ำกันอยู่ อย่างเช่น

บรรทัดที 1 มี ข้อมูล a a a b b
บรรทัดที 2 มี ข้อมูล c c c c

ถ้าหา่าซ้ำโดยเก็บเป็น Collection แล้วพอมาวนloop บรรทัดที 2 มันก็จะเก็บ ค่าของ บรรทัด ที 1 ไว้ด้วย แล้วพอผมจะมาหา ค่า sum ของข้อมูลที ซ้ำกันมันก็เกิดการ sum ค่า ออกมาผิด อย่างเช่น ถ้าปกติแล้วจะ sum ออกมาเป็น a = 1 b=1 c=1 แต่พอเก็บเป็น Collection จะsum ค่า a=2 b=2 c=1 ครับ มีใครพอมีวิธีที จะช่วงแนะนำผมได้บ้างรึเปลาครับ

Re: มีวิธี ทีจะหาค่าซ้ำกันใน array โดยเราไม่เก็บเป็น Collect

Posted: Wed Jun 12, 2013 10:26 am
by angleblack
ขอบคุณมากครับ ตอนนี้ทำแก้ปัญหาได้ละคับ ผม ใช่ Set aa = Nothing เข้าไปช่วยในการ ทำให้ Collection อันเก่ามันหายไป ขอบคุณมากนะครับ