Hallo,
ich bin Neuling bei VBA und muss für meine Chefin ein Makro programmieren. Es geht um folgendes: Ich möchte eine Tabelle mit Veranstaltungen programmieren. Jede einzelne Veranstaltung ist in einer Zeile und hat jeweils zwei Datumsangaben - einmal die Anmeldefrist und einmal der Beginn der Veranstaltung. Jetzt sollen die Veranstaltungen in verschiedene Arbeitsblätter sortiert werden. Un zwar so:
1. Das erste Arbeitsblatt soll Veranstaltungen enthalten, deren Anmeldefrist noch nicht abgelaufen ist und die noch nicht begonnen haben.
2. Das zweite zweite Arbeitsblatt soll Veranstaltungen enthalten, die noch nicht begonnen haben.
3. Das dritte Arbeitsblatt soll Veranstaltungen enthalten, deren Anmeldefrist abgelaufen sind und die schon begonnen haben.
Neue Veranstaltungen werden imimer im ersten Arbeitsblatt hinzugefügt. Ich möchte nun, dass sich die Veranstaltungen vom ersten Arbeitsblatt auf die anderen Arbeitsblätter aufteilen, wenn man auf einen Button klickt. Ich habe dafür auch schon einen VBA-Code programmiert, den ich irgendwie zusammengebastelt habe. Leider hat der Code ein Problem. Immer wenn das Makro startet, dann überschreibt er die vorhandenen Einträge in Arbeitsblatt 2 und 3. Ich möchte aber, dass die Zeilen, die vom ersten in das zweite und dritte Arbeitsblatt verschoben werden, an die vorhandenen Einträge angehangen werden. Ich habe auch schon gegoogelt. Irgendwo muss ich was einfügen, damit die Zeilen nicht überschrieben werden. Was mache ich bloß flasch? Kann mir jemand verraten, was ich verändern muss. Vielen Dank für eure Hilfe.
Jan
Hier der Code:
Sub Schaltfläche2_BeiKlick()
Dim a As Long, i As Long
Application.ScreenUpdating = False
a = 1
For i = Cells(Rows.Count, 2).End(xlUp).row To 1 Step -1
With Worksheets("Tabelle1")
If Date - Cells(i, 2) > Today Then Rows(i).Cut _
Destination:=Worksheets("Tabelle2").Rows(a)
a = a + 1
End With
Next i
Application.ScreenUpdating = True
End Sub
ich bin Neuling bei VBA und muss für meine Chefin ein Makro programmieren. Es geht um folgendes: Ich möchte eine Tabelle mit Veranstaltungen programmieren. Jede einzelne Veranstaltung ist in einer Zeile und hat jeweils zwei Datumsangaben - einmal die Anmeldefrist und einmal der Beginn der Veranstaltung. Jetzt sollen die Veranstaltungen in verschiedene Arbeitsblätter sortiert werden. Un zwar so:
1. Das erste Arbeitsblatt soll Veranstaltungen enthalten, deren Anmeldefrist noch nicht abgelaufen ist und die noch nicht begonnen haben.
2. Das zweite zweite Arbeitsblatt soll Veranstaltungen enthalten, die noch nicht begonnen haben.
3. Das dritte Arbeitsblatt soll Veranstaltungen enthalten, deren Anmeldefrist abgelaufen sind und die schon begonnen haben.
Neue Veranstaltungen werden imimer im ersten Arbeitsblatt hinzugefügt. Ich möchte nun, dass sich die Veranstaltungen vom ersten Arbeitsblatt auf die anderen Arbeitsblätter aufteilen, wenn man auf einen Button klickt. Ich habe dafür auch schon einen VBA-Code programmiert, den ich irgendwie zusammengebastelt habe. Leider hat der Code ein Problem. Immer wenn das Makro startet, dann überschreibt er die vorhandenen Einträge in Arbeitsblatt 2 und 3. Ich möchte aber, dass die Zeilen, die vom ersten in das zweite und dritte Arbeitsblatt verschoben werden, an die vorhandenen Einträge angehangen werden. Ich habe auch schon gegoogelt. Irgendwo muss ich was einfügen, damit die Zeilen nicht überschrieben werden. Was mache ich bloß flasch? Kann mir jemand verraten, was ich verändern muss. Vielen Dank für eure Hilfe.
Jan
Hier der Code:
Sub Schaltfläche2_BeiKlick()
Dim a As Long, i As Long
Application.ScreenUpdating = False
a = 1
For i = Cells(Rows.Count, 2).End(xlUp).row To 1 Step -1
With Worksheets("Tabelle1")
If Date - Cells(i, 2) > Today Then Rows(i).Cut _
Destination:=Worksheets("Tabelle2").Rows(a)
a = a + 1
End With
Next i
Application.ScreenUpdating = True
End Sub