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