Hilfe!!!
31.01.2018 08:54:32
Amy
Ich habe ein Problem mit folgendem Makro. Und zwar wird hier die Spalte D in einer Schleife nach den Werten X, Y, Z, ABDEF, ABDE, AB, und ABY durchsucht. Dieser Wert wird anschließend zu dem Array filterCriteria hinzugefügt. Am Ende sollte daher das Array wie folgt aussehen:
Array(X, Y, Z, ABDEF, ABDE, AB, ABY)
Jedoch überspringt er Zellen, die ein AB enthalten einfach, und fügt den Wert auch nicht zum Array hinzu. Das Array sieht also nach Ausübung des oberen Makros so aus:
Array(X, Y, Z, ABDEF, ABDE, ABY)
Kann mir jemand sagen, wo hier der Fehler liegt?
Anbei das Makro zur Veranschaulichung:
Dim filterCriteria() As String
Dim b As Integer
b = 0
ReDim Preserve filterCriteria(b)
filterCriteria(b) = "eins"
For a = 6 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Debug.Print Range("D" & a).Value
If Range("D" & a).Value = "X" Or Range("D" & a).Value = "Y" Or Range("D" & a).Value = "Z" _
Or Range("D" & a).Value = "ABDEF" Or Range("D" & a).Value = "ABDE" Or Range("D" & a).Value = "AB" Or Range("D" & a).Value = "ABY" Then
If filterCriteria(0) "eins" Then
If Not IsInArray(Range("D" & a).Value, filterCriteria) Then
ReDim Preserve filterCriteria(b)
filterCriteria(b) = Range("D" & a).Value
b = b + 1
End If
Else
ReDim Preserve filterCriteria(b)
filterCriteria(b) = Range("D" & a).Value
b = b + 1
End If
End If
Next