Vergleichen mit mehreren Bedingungen (Access)

Memo, Mittwoch, 13.03.2019, 18:23 (vor 98 Tagen)

Hallo zusammen,

ich stehe wieder einmal vor einer Herausforderung bei der ich um eure Unterstützung bitte.

Ich habe eine große Pivot Tabelle in der verschiedene Daten stehen. Diese Pivot Datei wird jede Woche neu erstellt. Mit dieser neu erstellten Datei wird diese 1 x die Woche analysiert, d.h. jede Woche wiederkehrende Ausführungen. Mit Excel Formeln habe ich mein Ziel nicht einmal ansatzweise hinbekommen. Ich hoffe Ihr könnt mir dabei helfen.

Beim Ausführen des Makros soll es folgendes tun:

Betrachte Bereich A2 bis A5000.
Lese erstmal A2 aus. Wenn in A2 "V1" steht dann springe zu Nebenspalte von V1 (also zu FM), Wenn in A2 "V2" steht dann springe zu Nebenspalte von V2 (also zu FO), Wenn in A2 "V3" steht dann springe zu Nebenspalte von V3 also zu FQ), Wenn in A2 "V4" steht dann springe zu Nebenspalte von V4 (also zu FS), Wenn in A2 "V5" steht dann springe zu Nebenspalte von V5(also zu FU) und vergleiche das Datum welches in dieser Zelle (also ZielDat.) steht mit dem aktuellen Datum + 1 Monat. Wenn das Datum in dieser Zelle das aktuelle Datum + 1 Monat übersteigt, dann nichts unternehmen.
Wenn es nicht übersteigt, dann komplette Zeile gelb füllen.
Lese A3 aus....usw

Und zum Schluss alle Gelb gefüllten Zeilen Filtern (sodass nur die gelb gefüllten Zeilen) angezeigt werden.
Wenn in den Zellen von A2 bis A5000 alles andere als V1,V2,V3,V4,V5 steht, dann nichts unternehmen.

Diese Prozedur soll für alle Zellen bis A5000 ausgeführt werden.

Von einem netten User konnte ich folgenden Code zusammenstellen:

Sub Filtern()

Dim cell, Zielzelle As Range

For Each cell In Range("A:A").SpecialCells(xlCellTypeConstants)
If cell.Value = "V1" Or cell.Value = "V2" Or cell.Value = "V3" Or cell.Value = "V4" Or cell. _
Value = "V5" Then
Set Zielzelle = Range("1:1").Find(cell.Value)
If Year(Zielzelle.Offset(cell.Row - 1, 1)) & Format(Month(Zielzelle.Offset(cell.Row - 1, _
1)), "0#") <= Year(Date) & Format(Month(Date) + 1, "0#") Then
cell.EntireRow.Interior.ColorIndex = 6
Else
cell.EntireRow.Hidden = True
End If
End If
Next cell

End Sub

Nach Ausführen des Makros tut es leider nur 1 Zeile Gelb färben, obwohl es mehrere finden sollte und danach erscheint folgende Fehlermeldung:
"Objektvariable oder With-Blockvariable nicht festgelegt. Laufzeitfehler '91'"

Ab hier komme ich leider nicht mehr weiter und hoffe auf Eure Unterstützung.

Danke an alle die etwas beitragen

VG
Memo


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum