Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
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
Inhaltsverzeichnis

2 Worksheet_Change-Ereignisse

2 Worksheet_Change-Ereignisse
24.08.2020 09:40:31
Heinz
Hallo zusammen
mit dem nachfolgenden Code (aus diesem Forum) wird bei einer Änderung einer Zelle im Bereich E8:E33 in der gleichen Reihe, 36 Zellen rechts davon, ein Zeitstempel gesetzt.
Wie kann ich im gleichen Tabellenblatt daneben einen 2. Zeitstempel erhalten, wenn eine Zelle im Bereich X8:X33 geändert wird?
Über Eure Unterstützung würde ich mich sehr freuen!
Beste Grüsse
Heinz
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range
If Target.Row  1 Then Exit Sub
Set RaBereich = Range("E8:E33")
Application.EnableEvents = False
If Not Intersect(Target, RaBereich) Is Nothing Then
Target.Offset(0, 36) = Format(Now, "hh:mm:ss")
End If
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: 2 Worksheet_Change-Ereignisse
24.08.2020 09:57:42
UweD
Hallo
Dazu kannst u Union (;) nehmen

Set RaBereich = Union(Range("E8:E33"), Range("X8:X33"))
Das Application.EnableEvents = False würde ich nach der Prüfung ausführen, sonst wird es immer unnötig gesetzt.
Also so..

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range
If Target.Row  1 Then Exit Sub
Set RaBereich = Union(Range("E8:E33"), Range("X8:X33"))
If Not Intersect(Target, RaBereich) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 3) = Format(Now, "hh:mm:ss")
End If
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

LG UweD
Anzeige
AW: 2 Worksheet_Change-Ereignisse
24.08.2020 10:41:23
Heinz
Hallo UweD
vielen herzlichen Dank für Deine funktionierende Lösung!
Folgefrage:
Kann man das "Target.Offset" noch differenziert angegeben?
Ich benutze jetzt ja Union(Range("E8:E33"), Range("X8:X33"))
- bei einer Änderung im Range E8:E33 müsste es heissen Target.Offset(0, 36)
- bei einer Änderung im Range X8:X33 müsste es heissen Target.Offset(0, 19)
Ist das überhaupt möglich und wie lautet da die Syntax?
Danke und Gruss
Heinz
AW: 2 Worksheet_Change-Ereignisse
24.08.2020 10:53:31
UweD
Hallo
dann so...

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Row  1 Then Exit Sub
If Not Intersect(Target, Range("E8:E33")) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 36) = Format(Now, "hh:mm:ss")
End If
If Not Intersect(Target, Range("X8:X33")) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 19) = Format(Now, "hh:mm:ss")
End If
Application.EnableEvents = True
End Sub

LG UweD
Anzeige
AW: 2 Worksheet_Change-Ereignisse
24.08.2020 11:03:44
Heinz
Super UweD
Das passt perfekt!
Vielen Dank Dir und allen Helfern hier im Forum.
Ich wünsche Euch eine gute Zeit
Heinz
Danke für die Rückmeldung (owT)
24.08.2020 11:05:06
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige