Microsoft Excel

Herbers Excel/VBA-Archiv

Nach erfolgter Eingabe Makro nicht ausführen wenn


Betrifft: Nach erfolgter Eingabe Makro nicht ausführen wenn von: Reinhard
Geschrieben am: 14.09.2019 11:50:34

Hallo zusammen,

mir ist für den Betreff leider kein passender Text eingefallen, ich hoffe folgende Beschreibung ist aussagekräftig genug ;-)

Mit folgendem Code erzeuge ich bei Eingabe in Zelle C4 und D4 (Case 3, 4) ein Datum mit Uhrzeit (Now()) in der ausgewählten Zeile, also z.B. in Zelle B4 (Cells(Target.Row, 2)).

Private Sub Worksheet_Change(ByVal Target As Range)
  
  Select Case Target.Column
  Case 3, 4:   Cells(Target.Row, 2) = Now()
  
  End Select
    
  
  End Sub

Nun möchte ich nach erfolgter Eingabe verhindern, dass bei Überschreiben/ändern der Daten in Zelle C4 oder D4 der Datumswert in Zelle B4 aktualisiert wird.

Hintergrund: Ich hab ein Einsatztagebuch (für unsere Freiwillige Feuerwehr) in Excel erstellt, man braucht sich dank dem Makro nicht auf das Datum und der Uhrzeit konzentrieren, sondern kann einfach drauf los schreiben.

In die Zelle C4 wird "An" (WO40-1) und in Zelle D4 "Von" (WO10-1), also die jeweiligen Rufzeichen z.B. der Fahrzeuge (die in Klammer stehend) eingetragen. In Zelle B4 wird die Uhrzeit (14.09.2019 11:29:21) dokumentiert, wann wer über Funk eine Meldung abgegeben hat. In Zelle E4 wird der Meldungstext eingetragen (dieser ist aber frei vom Makro und nicht relevant für dieses).

Mit der "Sperre" bei Korrektur in den Zellen C4 und D4 möchte ich verhindern, dass die ursprünglich gesetzte Uhrzeit verfälscht wird und nicht mehr stimmt.

Diese Sperre dürfte aber nicht zu tragen kommen, wenn ich nun in der Zeile 5 erneut eine neue Meldung eintrage - erst wenn ich versuchen sollte, auch in der Zeile 5 etwas ändern zu wollen (also in Spalte C5 und D5).

Wäre super, wenn mir einer auf die Sprünge helfen könnte, ich hab bis dato leider noch keine Lösung gefunden ;-)

Grüße
Reinhard
  

Betrifft: frag es doch vorher ab ... von: 1713035.html
Geschrieben am: 14.09.2019 11:58:32

Hallo

Warum fragst Du denn nicht vor dem Setzen des Datum ab, ob die Zelle auch leer ist

If Cells(Target.Row, 2) = "" Then ...

Gruß Matthias

  

Betrifft: AW: frag es doch vorher ab ... von: 1713038.html
Geschrieben am: 14.09.2019 12:05:59

Danke Matthias, wie sagt man so schön "man sieht den Wald vor lauter Bäumen nicht" *kopfklatsch* :-D

Funktioniert - Danke für den Schubser

Beiträge aus dem Excel-Forum zum Thema "Nach erfolgter Eingabe Makro nicht ausführen wenn "