มีวิธี ทีจะหาค่าซ้ำกันใน array โดยเราไม่เก็บเป็น Collection
Posted: Wed Jun 12, 2013 9:58 am
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 มี ข้อมูล 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 ครับ มีใครพอมีวิธีที จะช่วงแนะนำผมได้บ้างรึเปลาครับ