Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

Zeilen koopieren, dann Zeilen löschen

Zeilen koopieren, dann Zeilen löschen
03.09.2008 11:11:00
Hans1978
Hallo zusammen,
ich bin ziemlich unbedarft mit VBA. Habe folgendes Problem, ich würde gerne zunächst Zeilen aus bestimmten Bereichen eines Blattes (1 - 20 dann wieder 25 -45 usw) in ein anderes Blatt kopieren.
Dabei werden sicherlich Zeilen kopiert, bei denen keine Einträge vorhanden sind. Diese sollen gelöscht werden.
Mein Ansatz bisher war, ich kopiere die Zeilen mit einer einfachen Formel im Zielblatt und lösche dann die Zeilen mit einem Macro die leer sind. Jetzt war da aber das Problem, dass Zeilen in denen eine Formel stand nicht gelöscht wurden. Dies habe ich dann geändert, was zu dem Problem führte, dass, sobald ich das löschmacro einmal ausgeführt hatte, alle Kopierformeln gelöscht wurden. Mehrmals verändern kann man somit das Excel nicht. Was nicht Sinn der Sache ist.
Ich bin also jetzt auf der Suche nach einem Macro, das mir zunächst die bestimmten Bereiche des einen Blattes in ein anderes Blatt kopiert und danach alle leeren Zeilen löscht.
Hoffe ihr könnt mir helfen. Weiß wirklich nicht mehr weiter.
Herzlichen Gruß

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nachfragen
03.09.2008 11:18:42
mpb
Hallo Hans,
welche Bereiche sollen kopiert werden? Gibt es eine Spalte, die außer in den Leerzeilen keine weiteren leeren Zellen in den zu kopierenden Zeilen hat?
Gruß
Martin
AW: Nachfragen
03.09.2008 11:24:05
Hans1978
Hallo,
kopieren will ich die Zeilen, 9-29; 33-53; 57-77; 81-101; 105-125; 129-149; 153-173; 177-197; 201-221.
Ja die gibt es. Spalte F.
Gruß
Hans
AW: Lösungsvorschlag
03.09.2008 11:34:00
mpb
Hallo Hans,
so sollte es gehen:

Sub kopieren()
'9-29; 33-53; 57-77; 81-101; 105-125; 129-149; 153-173; 177-197; 201-221
Application.ScreenUpdating = False
Set quelle = Worksheets("Tabelle1")
Set Ziel = Worksheets("Tabelle2")
z = 1
For i = 9 To 201 Step 24
quelle.Rows(i & ":" & i + 20).Copy Destination:=Ziel.Cells(z, 1)
z = z + 21
Next i
Ziel.Columns("F:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
End Sub


Gruß
Martin

Anzeige
AW: Lösungsvorschlag
03.09.2008 11:56:00
Hans1978
Hallo Martin,
super klasse! Vielen Dank!!
Eine Anschlussfrage hätte ich noch, in die erste Zeile des Blattes in das kopiert wird, würde ich gerne noch eine überschrift schreiben, die immer bleibt, also nicht glöscht wird. Im Moment löscht das Macro diese immer weg. Ist das auch möglich?
Gruß
Hans
AW: Lösungsvorschlag
03.09.2008 12:05:09
mpb
Hallo Hans,
am einfachsten: ändere z = 1 in z = 2
Allerdings muss in der Zieltabelle dann in Zelle F1 etwas stehen (z.B. reicht ein Leerzeichen).
Gruß
Martin
AW: Lösungsvorschlag
03.09.2008 13:15:32
Hans1978
Echt klasse, danke!
Jetzt aber wirklich die allerletzte Frage, kann man das auch noch so einrichten, dass das Macro immer gestartet wird, wenn man auf die Tabelle wechelt, auf die die Zeilen kopiert wurden?
Gruß
Hans
Anzeige
AW: Lösungsvorschlag
03.09.2008 13:51:00
mpb
Hallo Hans,
Rechtsklick auf den Tabellenreiter - Code anzeigen. In das sich öffnende Fenster folgenden Code kopieren:

Private Sub Worksheet_Activate()
Call kopieren 'statt kopieren ggf. Deinen Makronamen angeben
End Sub


Gruß
Martin

AW: Lösungsvorschlag
03.09.2008 14:48:12
Hans1978
Vielen vielen Dank!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige