2k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excefreunde,
ich möcht einen bestimmten Bereich in der Spalte A mit Datum füllen.
Von der ersten leeren Zelle in A bis zu letzten gefüllten Zelle in C.

Range("A1:C65536").End(xlDown).Offset(1, 0 _
& Range("C1:C65536").End(xlDown).Offset(0, -2)) = Date

Wie muß der Code verändert werden?

Gruß
fedjo

A B C
29.03.2013 Text Text
29.03.2013 Text Text
Text
Text
Text
Text

8 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Fedjo,

das würde ich so machen

Range(Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), _
Cells(Cells(Rows.Count, 3).End(xlUp).Row, 1)) = Date

Gruß
Rainer
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Rainer,
danke für die schnelle Antwort.
Mit "End(xlUp).Row " funktioniert es leider nicht, da weiter unten noch Zeilen mit Werten sind. Vielleicht git es eine Möglichkeit mit der ActivenCell?

Gruß
fedjo


29.03.2013 F Muster


29.03.2013 F Versuch
29.03.2013 F Versuch
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Fedjo,

....da weiter unten noch Zeilen mit Werten sind.


... diese Wahrheit hättest Du in Deine Frage einbauen sollen, das
vermeidet Missverständnisse.

Übrigens, was bedeutet "weiter unten"?
Meinst Du im Keller, oder in irgendeiner Spalte?

Klare Fragestellungen sind das A & O in Foren :-))

Gruß
Rainer
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Rainer,
das immer genau zu Beschreiben ist halt nicht meine Stärke.
Es git in den Spalten A:C nach einigen leeren Zeilen wieder Zellen mit Werten.

Gruß
fedjo
Beispiel:

Spalte A Spalte B Spalte C
29.03.2013 F Versuch 1
29.03.2013 F Versuch 2
Leer
Leer
Leer
29.03.2013 F Muster 2
Leer
Leer
29.03.2013 F Versuch 4
29.03.2013 F Versuch 3
29.03.2013 F Versuch 4
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Fedjo,

das würde ich dann mittels Schleife erledigen.

Option Explicit

Sub Datum()
Dim rngC As Range
For Each rngC In Range("C2:C" & Cells(Rows.Count, 3).End(xlUp).Row)
If rngC.Value <> "" Then rngC.Offset(0, -2).Value = Date
Next
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Rainer,
die Schleife funktioniert schon, überschreibt aber in Spalte A Einträge nach oben von älteren Datums mit dem von heute.

Gruß
fedjo
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo fedjo,

überschreibt aber in Spalte A Einträge nach oben von älteren
Datums mit dem von heute.


.... das liegt nun wieder daran, dass Du offen gelassen hast, in welche
Zellen das aktuelle Datum geschrieben werden soll :-((

Schau Dir mal Dein letztes Muster an und urteile selbst.
Ich verabschiede mich nun mit meinen 2 Fehlversuchen aus diesem
Thread.

Gruß
Rainer
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
hab jetzt eine einfache Lösung gefunden.
Ich füge erst Werte in Spalte C mit "ActiveSheet.Paste" ein
und dann in Spalte A die nebenstehenden Zellen mit "Selection.Offset(0, -2) = Date" das Datum ein.

ActiveSheet.Paste
Selection.Offset(0, -2) = Date

@Rainer
Danke für deine Mühe und Geduld.

Gruß
fedjo
...