Hoi,
Final topic. Ik heb een gesorteerde array die er zo uitziet:
1
2
4
7
7
7
777777777
Ik ga vervolgens deze array filteren met de volgende methode:
Het resultaat is:
0
1
2
4
7
777777777
Bijna goed alleen die 0 moet er uit en weet niet hoe ik dat kan fiksen. Volgens mij zit het hem bij AddItem omdat ie daar de de array size aanpast naar 1 voordat er een waarde is ingevuld. De Unique(0) = dan volgens mij leeg of 0. Kan iemand mij helpen?? Veel dank.
Groet
Final topic. Ik heb een gesorteerde array die er zo uitziet:
1
2
4
7
7
7
777777777
Ik ga vervolgens deze array filteren met de volgende methode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| Private Sub UniqueItems(ArrayIn, Optional Count As Variant)
Dim Unique() As Long
Dim Element As Variant
Dim i As Integer
Dim FoundMatch As Boolean
If IsMissing(Count) Then Count = True
NumUnique = 0
For Each Element In ArrayIn
FoundMatch = False
For i = 1 To NumUnique
If Element = Unique(i) Then
FoundMatch = True
GoTo AddItem
End If
Next i
AddItem:
If Not FoundMatch Then
NumUnique = NumUnique + 1
ReDim Preserve Unique(NumUnique)
Unique(NumUnique) = Element
End If
Next Element
Call PrintArray(Unique())
End Sub |
Het resultaat is:
0
1
2
4
7
777777777
Bijna goed alleen die 0 moet er uit en weet niet hoe ik dat kan fiksen. Volgens mij zit het hem bij AddItem omdat ie daar de de array size aanpast naar 1 voordat er een waarde is ingevuld. De Unique(0) = dan volgens mij leeg of 0. Kan iemand mij helpen?? Veel dank.
Groet