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 per VBA setzten

Datum per VBA setzten
05.01.2021 11:27:21
Guido
Hallo zusammen,
ich bin gerade am verzweifeln. Ich wollte eigentlich ein recht einfaches VBA ändern aber es geht nicht. Ursprünglich hatte das VBA folgende Funktion:
Wenn in Spalte A ein Eintrag erfolgt, dann setze ein Datum in Spalte B in gleicher Zeile.
Dieses VBA wollte ich ändern auf Zeilen:
Wenn in Zeile 1 oder 3 ein Eintrag erfolgt, dann setze ein Datum in Zeile 5 in gleicher Spalte.
Mit der Zeile 3 habe ich erst einmal außen vor gelassen. Ich bekomme es auch hin, dass die Einträge in der ersten Zeile berücksichtigt werden, nur wird das Datum nicht in die Zeile sondern in die Spalte geschrieben. Ich habe schon diverse Versuche unternommen, auch könnte ich ich auch mit einem "Range" (z.b. A1:D1 dann in A5:D5) leben aber alles brachte keinen Erfolg. Ich glaube ich habe mich da ziemlich blöd verrannt.
Das VBA sieht zur Zeit so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Row) = 1 Then
Cells(Target.Column, 5) = Date
End If
End Sub

Eigentlich würde man vermuten, dass nur "Column" auf "Row" ändern muss aber nix geht...
Wäre nett wenn jemand dazu eine Idee hat, vielen Dank schon mal im vorraus
Gruß
Guido

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: anders rum
05.01.2021 11:33:19
hary
Moin
Cells(5,Target.Column)

gruss hary
AW: anders rum
05.01.2021 12:44:00
Guido
Moin Hary,
vielen Dank für die schnelle Lösung, ich wäre da nie darauf gekommen, da reichen meine VBA Basiskenntnisse wohl nicht aus. Ich war immmer gedanklich bei "Row" und "Column".
Gruß und Danke
Guido
AW: Datum per VBA setzten
05.01.2021 11:33:42
Hajo_Zi
Halo Guidi,
ersetzte
Target.Colum
durch 5, da Du es in Die 5 Zeile schreiben willst. Zu Spalte war ja keine Angabe, Da sollte es ja E sein.

AW: Datum per VBA setzten
05.01.2021 12:51:50
Guido
Hallo Hajo,
auch Dir vielen Dank für Deine Lösung, ich hatte zwischenzeitlich die Lösung von Hary getestet, sie funktioniert auch. Auch Deine werde ich noch mal ausprobieren. Ich glaube ich werde mich da bei Zeiten ein wenig einlesen müssen....
Gruß Und Danke
Guido
Anzeige
AW: Datum per VBA setzten
05.01.2021 11:36:42
Herbert_Grom
Hallo Guido,
evtl. so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Or Target.Row = 3 And Target.Value  "" Then
Cells(5, Target.Column) = Date
End If
End Sub
Servus
AW: Datum per VBA setzten
05.01.2021 12:58:52
Guido
Hallo Herbert,
auch Dir vielen Dank für die Lösung.
Ich hatte das mit der der Zeile 3 dann so gelöst:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Row) = 1 Then
Cells(5, Target.Column) = Date
End If
If (Target.Row) = 3 Then
Cells(5, Target.Column) = Date
End If
End Sub
Ich habe dann Deine getestet, für mich gehen beide, siehst in Deiner Version einen Vorteil?
Gruß und Danke nochmals an Alle
Guido
Anzeige
AW: Datum per VBA setzten
05.01.2021 13:01:14
Herbert_Grom
Hallo Guido,
das geht auch, ist aber nicht sehr professionell!
Servus
AW: Datum per VBA setzten
05.01.2021 13:24:23
Guido
Hab´s mir gedacht, werde Deine Lösung für die 3 Reihe nehmen.
Danke
AW: Datum per VBA setzten
05.01.2021 13:30:37
Herbert_Grom
Letztendlich spielt das aber keine Rolle, denn es zählt immer nur das Ergebnis. Das sollte auch keine Bewertung sein, sondern nur die Erklärung dafür, warum ich das anders gemacht habe!
Servus
AW: Datum per VBA setzten
05.01.2021 13:55:45
Werner
Hallo,
wäre auch was für Select Case.
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Row
Case 1, 3
Cells(5, Target.Column) = IIf(Target  "", Date, "")
Case Else
End Select
End Sub
Gruß Werner
Anzeige
AW: Datum per VBA setzten
05.01.2021 15:31:09
Herbert_Grom
Hallo Werner,
auch eine schöne Möglichkeit! Aber, da ich meinen Vorschlag letztendlich sogar auf nur 3 Programm-Zeilen komprimieren kann, gefällt er mir aber immer noch am Besten von allen, denn ich bin ja grundsätzlich "schreibfaul"!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Or Target.Row = 3 And Target.Value  "" Then Cells(5, Target.Column) =  _
Date
End Sub
Servus
AW: Datum per VBA setzten
10.02.2021 18:53:25
Herbert_Grom
SHIFT TAB ist natürlich besser, da nur EINMAL nötig.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige