Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Eintrag in Zelle, Datum eine Zelle daneben?

Eintrag in Zelle, Datum eine Zelle daneben?
Ole
Hi an alle,
ich habe eine VBA-Anweisung, die mir, nachdem in Splate A ein Eintrag erfolgt ist, in Spalte B das Datum eingeträgt. Nun habe ich aber vor, den Eintrag in Spalte A nicht händisch einzutragen, sondern durch eine Formel eintragen zu lassen. Leider funktioniert dann meine Anweisung nicht mehr, bzw, sie reagiert nicht auf eine Änderung in der Zelle. Was muss man in der Anweisung ändern, damit wenn durch die Berechnung eine Änderung in den Zellen erföfgt, das Datum in Spalte B eingetragen wird. Als zweites würde ich gerne erreichen, dass nur das Datum eingetragen oder geändert wird, wenn der Wert in Spalte A größer 0 wird. Erfolgt also eine Berechnung und der Wert in Spalte A wird grösser 0, dann soll das Datum in Spalte B eingetragen werden. Wird aber durch eine Berechnung der Wert in Splate A kleiner/gleich 0, dann soll an dem Datumseintrag nichts geändert werden.
Kann man so etwas relisieren? Über jede Hilfe wäre ich dankbar.
Hier noch meine Anweisung

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Range("A1:A20")) Is Nothing Then
Else
Cells(Target.Row, 2) = Now
End If
End Sub

Danke Euch schon mal im Voraus,
Ole
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Eintrag in Zelle, Datum eine Zelle daneben?
Christoph
Hi Ole,
das Makro von dir reagiert auf jede Änderung im gewählten Bereich ("A1:A20")
wenn dieser Bereich jedoch über eine Formel augefüllt wird ändert sich hier nichts,
aber dort, wo du eine Eintragsänderung vornimmst.
Daher musst du "If Intersect(Target, Range("A1:A20"))" auf den Bereich anpassen, in dem die Änderung passiert.
Bsp: in A1 steht:
= C1 + D1
jetzt änderst du zB. C1, also muss dein Makro lauten:
(das "Not" kannste vorne anstellen, dann sparst du dir das "Else")
Gruß
Christoph

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("C1:C20")) Is Nothing Then
Cells(Target.Row, 2) = Now
End If
End Sub

Anzeige
sorry, ich hab den zweiten Teil vergessen
Christoph
Hi Ole,
so war das eigentlich gedacht:
Gruß
Christoph
('ne Rückmeldung wäre nett)
&ltpre&gt
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("C1:C20")) Is Nothing And _
Cells(Target.Row, 1).Value &gt 0 Then
Cells(Target.Row, 2) = Now
End If
End Sub&lt/pre&gt

Anzeige
AW: sorry, ich hab den zweiten Teil vergessen
Ole
Hi Christoph,
genau so hatte ich mir das vorgestellt. Danke Dir. Auf die Idee, den Bereich, in dem die Einträge gemacht werden und nicht den Bereich der Berechnungen abzufragen, bin ich nicht gekommen.
Also noch mal Danke und ein schönes restwochenende,
Ole
Danke für di Rückmeldung (o.T.)
Christoph
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datum automatisch einfügen, wenn eine Zelle ausgefüllt ist


Schritt-für-Schritt-Anleitung

Um automatisch ein Datum in Excel einzufügen, wenn eine Zelle in Spalte A ausgefüllt wird, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das Arbeitsblatt aus, in dem du das Datum einfügen möchtest (z.B. "Tabelle1").

  3. Füge den folgenden Code in das Arbeitsblattmodul ein:

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        If Not Intersect(Target, Range("C1:C20")) Is Nothing And _
           Cells(Target.Row, 1).Value > 0 Then
            Cells(Target.Row, 2) = Now
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.

  5. Teste die Funktion, indem du Werte in den Bereich C1:C20 eingibst. Das Datum sollte in der entsprechenden Zelle in Spalte B erscheinen.


Häufige Fehler und Lösungen

  • Fehler: Das Datum wird nicht aktualisiert.

    • Lösung: Stelle sicher, dass du den richtigen Bereich in der Intersect-Funktion angibst. Wenn deine Daten in einem anderen Bereich stehen, passe den Code entsprechend an.
  • Fehler: Das Datum wird auch eingefügt, wenn der Wert in Spalte A ≤ 0 ist.

    • Lösung: Der Code prüft bereits, ob der Wert in Spalte A größer als 0 ist. Achte darauf, dass die Bedingungen im Code korrekt sind.

Alternative Methoden

Eine Alternative zur Verwendung von VBA ist die Verwendung von Excel-Formeln und bedingter Formatierung. Du kannst die Funktion =WENN() nutzen, um bestimmte Bedingungen zu prüfen, aber das Einfügen eines Datums ist mit Formeln nicht möglich. VBA bleibt die beste Lösung für die automatische Datumseingabe, wenn Zellen ausgefüllt werden.


Praktische Beispiele

Hier sind zwei Beispiele, wie du das Datum in verschiedenen Szenarien einfügen kannst:

  1. Eintrag in Zelle A1: Wenn du in C1 den Wert 5 eingibst, wird in B1 das aktuelle Datum eingefügt.
  2. Eintrag in Zelle A2: Wenn du in C2 den Wert 0 eingibst, bleibt B2 leer, da die Bedingung nicht erfüllt ist.

Tipps für Profis

  • Anpassung der Bereiche: Du kannst den Code einfach anpassen, um andere Bereiche zu überwachen. Ersetze einfach "C1:C20" durch den gewünschten Bereich.
  • Datum formatieren: Um das Datum in einem bestimmten Format anzuzeigen, kannst du die Format-Funktion in VBA verwenden, z.B.: Cells(Target.Row, 2) = Format(Now, "dd.mm.yyyy").
  • Fehlerbehandlung: Es kann hilfreich sein, Fehlerbehandlungsroutinen in deinen VBA-Code einzufügen, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich das Datum formatieren?
Um das Datum in einem gewünschten Format anzuzeigen, kannst du die Format-Funktion in deinem VBA-Code verwenden.

2. Funktioniert dieser Code in Excel 2016?
Ja, der VBA-Code funktioniert in Excel 2016 und neueren Versionen, solange Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige