Guten Abend,
ich habe ein Problem. Das Code habe ich aus dem
Internet und es funktioniert auch soweit.
Die erste Datei läuft ohne Probleme danach fängt wieder von oben an und nimmt die zweite Datei da bekomme ich eine Fehlermeldung
Fehlermeldung "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs"
- > ReDim Preserve FeldArray(ws.AutoFilter.Range.Rows.Count, ws.AutoFilter.Range.Columns.Count)
Bitte um hilfe
Vielen Dank
LG, Alana
NUR EIN TEIL
Range("A4:O4").Select
Selection.AutoFilter
Dim i As Long, u As Long, z As Integer, t As Integer, r As Integer
Dim str_ausgabe As String
Dim ws As Worksheet
Dim FeldArray()
Set ws = Worksheets(1)
'Prüfen, ob überhaupt ein Autofilter gesetzt ist
If ws.AutoFilterMode = True Then
Else
Range("A1:o1").Select
Selection.AutoFilter
' MsgBox "Kein AutoFilter gefunden!", vbInformation, "Achtung"
'Exit Sub
End If
'Der Array wird für die Datenaufnahme vorbereitet. Die Größe ergiebt sich aus dem Bereich
'(columns und rows) des Auofilter's
ReDim Preserve FeldArray(ws.AutoFilter.Range.Rows.Count, ws.AutoFilter.Range.Columns.Count)
'Variable u beinhaltet die Anzahl der Spalten des Autofilterbereiches
For u = 1 To 9 'ws.AutoFilter.Range.Columns.Count
'u = "10"
r = 1
'Variable i beinhaltet die Anzahl der Reihen des Autofilterbereiches
For i = 1 To ws.AutoFilter.Range.Rows.Count
'Der erste Spaltenwert eines Filters wird ohne Prüfung in den Array eingetragen,
'da dieser noch nicht Doppelte sein kann
If i = 1 Then
FeldArray(i, u) = ws.AutoFilter.Range.Cells(i, u)
Else
For z = 1 To i - 1
'Nun wird die aktuelle zelle des Autofilterbereiches mit den schon im Array eingetragenen Werten verglichen
'Ist er gleich, so wird die Sprungmarke weiter angesteuert
'ist er nicht gleich, so wird der Array um diesen Datensatz erweitert
If ws.AutoFilter.Range.Cells(i, u) = FeldArray(z, u) Then
GoTo Weiter
End If
Next z
r = r + 1
'array wird erweitert
FeldArray(r, u) = ws.AutoFilter.Range.Cells(i, u)
Weiter:
End If 'i=then
Next i
Next u