Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Rangebereich Zeilenweise ausfüllen
#1
Liebes Forum!
Ich brauche für meine Exceldatei Hilfe mit einem Makro.
Das Makro ist mit einem Knopf verknüpft, welcher bei Klicken das Makro ausführen soll.
Es handelt sich um ein Datumsmakro, welches beim Klicken das jeweilige Datum ausgibt (HEUTE-Funktion).
Ich scheitere daran, dass pro Klick immer nur eine Zeile ausgefüllt wird.
Könnt ihr mir helfen, das beim 1. Klick die 1. Zeile, beim 2. Klick, die 2. Zeile usw. ausgefüllt wird?

Makro:

Code:
Sub Monatsende()

Dim DaDatum As Date
DaDatum = Date

Worksheets("Tabelle1").Range("A1:A100") = Date

End Sub


Es sollen alle 100 Zeilen gefüllt werden, bloß nicht auf einmal wie bei meinem Code, sondern fortlaufend, zeilenweise.

Da ich das bereits lange vergeblich versuche, schon jetzt vielen Dank für eure Hilfe!
LG
Antworten Top
#2
Hi,

Code:
Sub test()
With Worksheets("Tabelle1")
    If .Cells(1, 1) <> "" Then
        .Cells(.Rows.Count, 1).End(xlUp).Offset(1) = Date
    Else
        .Cells(1, 1) = Date
    End If
End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • Taiko
Antworten Top
#3
Vielen Dank!
Funktioniert reibungslos.

Ok doch noch eine Kleinigkeit...

Wenn ich das ganze in einer anderen Zelle starten will, sagen wir z.B. B4.

Wenn ich den Cells-Code ändere auf ".Cells(4,2), dann kommt das erste Datum auch tatsächlich in B4. 
Die folgenden Daten werden dann allerdings wieder in A2-Ax ausgegeben.

Wo liegt da mein Denkfehler bzw. was muss ich da noch abändern?

LG
Antworten Top
#4
Hi,

Code:
Sub test()
With Worksheets("Tabelle1")
    If .Cells(4, 2) <> "" Then
        .Cells(.Rows.Count, 2).End(xlUp).Offset(1) = Date
    Else
        .Cells(4, 2) = Date
    End If
End With
End Sub


Du musst halt alle Bezüge auf Spalte B (=2) abändern - dazu gehört auch  .Cells(.Rows.Count, 2)
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • Taiko
Antworten Top
#5
Alles klar!
Vielen Dank
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste