Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
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

Datum mit VBA in Zelle schreiben

Datum mit VBA in Zelle schreiben
02.01.2021 01:13:30
Clemens
Hallo zusammen. Vorweg: Ich habe keine Ahnung von VBA und habe den nachstehenden Code ebenfalls hier aus dem Forum, möchte diesen aber jetzt erweitern.
Ich habe eine Tabelle, in dem ich in einer Spalte einen Wert eintrage, und über VBA automatisch in einer anderen Spalte der aktuelle Zeitpunkt (Datum und Zeit) eingetragen wird. Dies wird über diesen Code erreicht:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G16:G639")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target = "" Then
Target.Offset(0, -2).ClearContents
Else:
Target.Offset(0, -2).Value = Now
End If
End Sub

Ich möchte nun in diesem Tabellenblatt unabhängig voneinander mehrere dieser Dinge realisieren. Heißt sowohl in der bekannten Spalte (E) das Datum eintragen, wenn in Spalte G der Wert eingetragen wird. Aber auch, wenn in Spalte P ein Wert eingetragen wird in einer wiederum anderen Spalte (N) das Datum eintragen. Dies ist dann in noch vielen weiteren Spalten notwendig. Alle unabhängig voneinander. Geht das? Und wenn ja, wie?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
einfach Range erweitern ...
02.01.2021 03:56:13
Matthias
Hall Clemens,
If Intersect(Target, Range("G16:G639, P16:P639")) Is Nothing Then Exit Sub
Gruß ...
AW: einfach Range erweitern ...
02.01.2021 20:44:41
Clemens
Jein. In den anderen Spalten ist das Datum teilweise in weitere entfernte Spalten einzutragen. Das heißt, die Zielspalte ist weiter als 2 Spalten von der ursprünglichen entfernt.
z.B. mit Select Case Target.Column
03.01.2021 07:14:26
Matthias
Probiers mal so:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyOffset&
If Intersect(Target, Range("G16:G639,P16:P639,X16:X639")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
Case Is = 7    'G 'Offset-2=E
MyOffset = -2 'E
Case Is = 16   'P 'Offset-3=M
MyOffset = -3 'M
Case Is = 24   'X 'Offset-1=W
MyOffset = -1 'W
End Select
If Target = "" Then
Target.Offset(0, MyOffset).ClearContents
Else:
Target.Offset(0, MyOffset).Value = Now
End If
End Sub
Musst Du natürlich für Dich anpassen!
Gruß ...
Anzeige
AW: z.B. mit Select Case Target.Column
03.01.2021 23:57:28
Clemens
Vielen Dank,
das hat mir sehr geholfen!

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige