Registriert seit: 23.01.2016
Version(en): 2016
Hallo Experten,
habe folgendes Makro im Internet gefunden.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
If IsEmpty(Target) = False Then _
Target.Offset(0, 1).Value = Format(Now, "dd.mm.yyyy")
End If
End Sub
In C1 steht die Formel = A1
Wenn ich jetzt in A1 einen anderen Wert eingebe müsste sich doch D1 ein Datum eintragen......oder
Wenn ich C1 per Hand ändere wird in D1 das heutige Datum eingetragen.
Ich brauche das um später das Datum mit einer anderen Zelle(Dateiname) zu verbinden und als neue Datei zu speichern.
Wo ist da mein Denkfehlerß
Gruß Monkee
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo
das Change-Ereignis reagiert in dem Code NUR auf manuelle Änderung in Zelle C1
entweder du nimmst in dem Fall das Calculate-Ereignis oder fragst Zelle A1 ab
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If IsEmpty(Target) = False Then _
Target.Offset(0, 3).Value = Format(Now, "dd.mm.yyyy")
End If
End Sub
MfG Tom
Folgende(r) 1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag:1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag 28
• Monkee
Registriert seit: 23.01.2016
Version(en): 2016
23.01.2016, 10:47
(Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2016, 15:22 von Rabe.
Bearbeitungsgrund: Zitat auf Relevantes reduziert
)
(23.01.2016, 09:55)Crazy Tom schrieb: das Change-Ereignis reagiert in dem Code NUR auf manuelle Änderung in Zelle C1
entweder du nimmst in dem Fall das Calculate-Ereignis oder fragst Zelle A1 ab
Und wie sieht das dann aus, auf A1 kann ich nicht gehen da das eine Rechnungsnummer wird, die beim drucken erhöht wird
Gruß Monkee
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi,
wie wär's, wenn du mal genaue Angaben machen würdest, wo was eingetragen und wo was berechnet werden soll. Und zwar so, wie es dann in deiner Originaltabelle tatsächlich aussehen soll. Alles andere ist doch sonst ein heiteres Rätselraten.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 23.01.2016
Version(en): 2016
25.01.2016, 17:51
(Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2016, 15:23 von Rabe.
Bearbeitungsgrund: Zitat auf Relevantes reduziert
)
(23.01.2016, 10:51)WillWissen schrieb: Alles andere ist doch sonst ein heiteres Rätselraten.
Melde mich später wieder, bin im Krankenhaus
Gruß Monkee
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Monkee,
klar kannst Du auf A1 reagieren. Du hast ja am Anfang geschrieben, dass Du in A1 Deine Eingabe machst.
Eingetragen wird dann im letzten codebeispiel 3 Spalten weiter rechts, also in D1. Das ist die Stelle mit dem Target(0, 3)
Wenn beim Drucken in der Zelle was verändert wird, dann geschieht das wohl mit einem Makro. In dem Makro kannst Du mit
Application.EnableEvents = False (oder True)
steuern, ob Excel noch Ereignismakros wie das Change ausführen soll oder nicht.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 06.12.2015
Version(en): 2016
Hier eine Variante ohne intersect:
Private sub worksheet_change(byval target)
Application.enableevents = false
Target.offset(0,1).value = date
Application.enableevents = true
End sub
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Fennek
wollte mal dein Makro ausprobieren - hier mein Ergebnis:
[
Bild bitte so als Datei hochladen: Klick mich!]
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 06.12.2015
Version(en): 2016
Hallo Willwissen,
Der Code muss im Bereich der Worksheet-events eingegeben werden, der Name der sub wird automatisch erstellt. Deshalb ist im Bespiel das "Target as range" in der ersten Zeile verkürzt.
Wenn die Zeilen "sub" und "end sub" automatisch generiert werden, sollte es klappen.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
26.01.2016, 15:26
(Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2016, 15:27 von Rabe.)
Hi Günter,
(26.01.2016, 12:55)WillWissen schrieb: wollte mal dein Makro ausprobieren - hier mein Ergebnis:
Da fehlt die Variablendeklaration von target:
Option Explicit
Private Sub worksheet_change(ByVal target As Range)
Application.EnableEvents = False
target.Offset(0, 1).Value = Date
Application.EnableEvents = True
End Sub