AW: Zellbereich überwachen mit VBA Auskunft
Volker
Hallo Erich,
ich will ja nicht meckern, aber auch als VBA Anfänger sollte man wenigstens versuchen, die erhaltenen Codes halbwegs zu verstehen, statt immer nur "Geht nicht" zu sagen.
Wenn dann etwas nicht geht oder anders gemacht werden soll, kann man wenigstens gezielt fragen. Außerdem kann man nur so was lernen.
Von daher kann ich verstehen, wenn Luc langsam etwas ungeduldig wird.
Ich komm noch mal zurück auf meinen Vorschlag, beim Öffnen der Datei auf Wiedervorlage zu prüfen, so dass Formeln in der Tabelle überflüssig sind.
Jetzt mit Berücksichtigung möglicher Leerzellen und Kommentar.
Versuch mal nachzuvollziehen, was passiert. Dann kannst Du irgendwelche Verbesserungen vielleicht sogar selber versuchen.
Der Code nicht in ein Modul, sondern in "Diese Arbeitsmappe"/"This Workbook"
Private Sub Workbook_Open() 'wird beim Öffnen ausgelöst
Dim str As String 'variable für die zu bearbeitenden Zeilennummern
Dim i, letzte As Long 'Variablen für den Zeilenindex
Sheets("Tabelle1").Activate 'ersetze Tabelle1 durch den richtigen Namen
letzte = Range("G65536").End(xlUp).Row 'letzte ist Zeilenindex der letzten nichtleeren Zelle von unten in Spalte G
For i = 7 To letzte 'von Zeile 7 bis s.o.
If Cells(i, 7) = "" Then 'wenn kein Eintag bei Wiedervorlage, gehe zu Sprungmarke "weiter:"
GoTo weiter
ElseIf Cells(i, 7) < Date Then 'sonst, wenn Wiedervorlage vor akt. Datum, setze auf bearbeiten
str = str & Chr(13) & i 'füge Zeilennummer an
Cells(i, 8) = "X"
Cells(i, 9) = ""
Else 'sonst, wenn Wiedervorlage nach akt. Datum, setze auf nicht bearbeiten
Cells(i, 8) = ""
Cells(i, 9) = "X"
End If
weiter:
Next
MsgBox "Bitte folgende Zeilen bearbeiten: " & str 'Ausgabe der Zeilennummern
End Sub
Kleiner Tip am Rande: mit F8 kannst Du einen Code zeilenweise ausführen und dabei schauen, was passiert.
Gruß
Volker