Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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
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.

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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige