Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn Formel/Makro

Wenn Formel/Makro
17.10.2007 10:28:37
Andreas
Hallo zusammen
Ich Suche eine Formel oder ein Makro was bei einer Änderung z.B. in der Zelle A1 das aktuelle Datum in die Zelle B1 einträgt.
Bei einer Änderung in der Zelle A2, aktuelles Datum in B2 usw.
Das aktuelle Datum soll dann erst wieder bei einer Änderung aktualisiert werden.
Kann mir jemand bei meinem Problem weiterhelfen?
Gruß Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Formel/Makro
17.10.2007 10:35:00
ede
hallo andreas,
dann kopiere mal nachstehenden code ins tabellenblatt und teste:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range
' abbrechen, wenn erste Zeile oder mehr als eine Zelle aktiv
If Target.Row  1 Then Exit Sub
'für Änderungen Zellbereich Ggf anpassen
Set RaBereich = Range("A3:A12")
Application.EnableEvents = False
'bei Änderung eine Zelle rechts davon Datum und Uhrzeit eintragen
If Not Intersect(Target, RaBereich) Is Nothing Then
Target.Offset(0, 1) = format(Now, "dd.mm.yyyy_hh:mm:ss")
End If
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub


gruss

Anzeige
Weshalb ABBRECHEN, wenn mehr als 1 Zelle ?
17.10.2007 10:53:53
NoNet
Hallo ede,
Dein Makro erfüllt wohl schon fast die gewünschten Anforderungen.
Ich frage mich (bzw. DICH) nur, weshalb das Makro abgebrochen wird, wenn mehr als 1 Zelle geändert wurde (bspw. Bereich A3:A5 markieren und per ENTF löschen oder Eingabe in diesem Bereich per STRG+ENTER abschliessen etc.). Weshalb verfolgst Du nicht konsequent den Dir bekannten WEG (INTERSECT) ?
Ich habe mir erlaubt, das Makro entsprechend zu korrigieren, dann klappt es auch für Änderungen in mehrzelligen Bereichen :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim RaBereich As Range, RaZelle As Range
    'für Änderungen Zellbereich Ggf anpassen
    Set RaBereich = Range("A3:A12")
    Application.EnableEvents = False
    'bei Änderung eine Zelle rechts davon Datum und Uhrzeit eintragen
    If Not Intersect(Target, RaBereich) Is Nothing Then
        For Each RaZelle In Intersect(Target, RaBereich)
            RaZelle.Offset(0, 1) = Format(Now, "dd.mm.yyyy_hh:mm:ss")
        Next
    End If
    Application.EnableEvents = True
    Set RaBereich = Nothing
End Sub
Schönen Tag wünscht NoNet

Anzeige
AW: Wenn Formel/Makro
17.10.2007 10:59:39
Andreas
Hallo
Grundsätzlich Funktioniert das Makro!
Aber was ich vergessen habe, das die Spalte A wo sich meine Daten änder, eine Formel steht!
Wenn sich der Wert der Formel (Summen) ändert, ändert er mir leider nicht das Datum in Spalte B
Kann man das Makro dahin ändern?
Gruß Andreas

Dann musst Du die referenzierten Zellen prüfen
17.10.2007 11:23:57
NoNet
Hallo Andreas,
Ein Ereignis für die Änderung eines Formelergebnisses existiert leider nicht.
Die Formel bezieht sich ja vermutlich auf irgendwelche Zellen ?!? Dann musst Du die (manuelle) Änderung dieser Zellen prüfen.
Es existiert zwar das Ereignis "CALCULATE", das auf eine Neuberechnung reagiert, aber es prüft nicht die ERGEBNISSE der berechneten Zellen. Du könntest allenfalls allgemein auf die Neuberechung prüfen. Das Umständliche daran ist, dass Du dann für jede Ergebniszelle den Wert VORHER speichern musst und mit dem aktuellen Wert vergleichen musst. Das ist mir jedoch zu umständlich, daher klinke ich mich hier aus.
Viel Erfolg, Gruß NoNet

Anzeige
AW: Wenn Formel/Makro
17.10.2007 11:43:00
Andreas
Hallo zusammen
Kann mir sonst jemand bei meinem folgenden Problem helfen!
Ich Suche eine Formel oder ein Makro was bei einer Änderung z.B. in der Zelle A1 das aktuelle Datum in die Zelle B1 einträgt.
Bei einer Änderung in der Zelle A2, aktuelles Datum in B2 usw.
Das aktuelle Datum soll dann erst wieder bei einer Änderung aktualisiert werden.
Spalte A ist eine Formel!!!
Gruß Andreas

AW: Wenn Formel/Makro
17.10.2007 12:09:47
Josef
Hallo Andreas,
wenn du eine zusätzliche Spalte übrig hast, dann könnte man das so lösen.
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()
Dim rng As Range

On Error GoTo ErrExit
Application.EnableEvents = False


For Each rng In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    If rng.HasFormula Then
        If rng.Value <> rng.Offset(0, 2).Value Then
            rng.Offset(0, 1) = Date
            rng.Offset(0, 2) = rng.Value
        End If
    End If
Next

ErrExit:
Application.EnableEvents = True
End Sub

Die Spalte zur Zwischenspeicherung der Werte kann man auch ausblenden.
Gruß Sepp

Anzeige
Danke!
17.10.2007 13:42:57
Andreas
Danke!
Mit der Hilfsspalte kann ich leben!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige