Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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
Anzeige
Danke für di Rückmeldung (o.T.)
Christoph

69 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige