Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum vba bei Änderung

Datum vba bei Änderung
29.03.2021 19:30:59
Kevin
Abend an euch alle!
Für viele dürfte es leicht sein, aber ich konnte per google nicht finden wie man folgendes Problem löst:
Bei einer Änderung im Bereich B1-X1 soll in Zelle A1 das Datum vermerkt werden. Weiterhin soll das selbe gelten in Reihe 2. Also bei einer Änderung im Bereich B2:X2 soll das Datum in Zelle A2 vermerkt werden.
Die ganze Thematik soll auf den Bereich B2: X 500 angewendet werden und dabei soll immer in der selben Reihe in in der eine Änderung durchgeführt wird in Spalte A der selben Reihe das Datum festgehalten werden.
Hoffe das war verständlich. Danke schonmal im Voraus und Gruß an alle.

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum vba bei Änderung
29.03.2021 20:17:49
Nepumuk
Hallo Kevin,
Rechtsklick auf den Tabellenreiter - Code anzeigen. Folgende Prozedur einfügen:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Set objRange = Intersect(Target, Range("B2:X500"))
    If Not objRange Is Nothing Then
        Application.EnableEvents = False
        For Each objCell In objRange
            Cells(objCell.Row, 1).Value = Date
        Next
        Application.EnableEvents = True
        Set objRange = Nothing
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Datum vba bei Änderung
29.03.2021 20:30:46
Kevin
Volltreffer Nepumuk. Vielen Dank.
Kannst du mir vlt. erklären warum es leider nicht funzt, wenn ich folgenden code verwende ?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Bereich As Range
Dim Z
Application.EnableEvents = False
Set Bereich = Range("D13:FA500")
If InStr(Target.Address, ":") = 0 Then  ' überprüfen ob mehr als eine Zelle markiert
Cancel = True
If Intersect(Target, Bereich) Is Nothing Then GoTo Ende
' Abbruch, wenn Aktion nicht im Zielbereich
If Target.Value = "" Then Target.Value = "T": GoTo weiter
If Target.Value  "" Then Target.ClearContents: GoTo weiter
weiter:
Else
For Each Z In Selection
Dim S As String
S = Z.Address
If Intersect(Z, Bereich) Is Nothing Then
Else
Cancel = True
Z.Value = "T"
End If
Next Z
End If
Ende:
Application.EnableEvents = True
End Sub

Mit dem Code lasse ich in dem Bereich per Doppelklick ein "T" eintragen. Wenn ich das mache ändert sich das Datum leider nicht.

Anzeige
AW: Datum vba bei Änderung
29.03.2021 20:43:04
Nepumuk
Hallo Kevin,
das genügt:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("D13:FA500")) Is Nothing Then
        If IsEmpty(Target.Value) Then
            Target.Value = "T"
        Else
            Target.Value = Empty
        End If
        Cancel = True
    End If
End Sub

Eine Abfrage ob mehrere Zellen ausgewählt sind erübrigt sich beim Doppelklick, du kannst nur in eine Zelle Doppelklicken. Das Datum wurde nicht eingetragen weil du die Events abgeschaltet hast.
Gruß
Nepumuk

Anzeige
AW: Datum vba bei Änderung
29.03.2021 20:50:49
Kevin
Ok nun ist alles wie gewünscht. Vielen Dank nochmal. Dein Fachwissen hätte ich gerne :p
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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