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

VBA Zeilen kopieren und neue Zeile einfügen

VBA Zeilen kopieren und neue Zeile einfügen
10.09.2015 12:20:52
Dietz
Hallo zusammen,
ich würde gerne zwischen zwei Mappen Daten kopieren, d.h. aus einer in die andere. Die erste Zeile die kopiert wird soll in eine bestimmte Zeile kopiert werden, für alle anderen Zeilen die kopiert werden sollen, soll in der Zielmappe erst eine neue Zeile unterhalb eingefügt werden, wo rein kopiert werden soll.
Ich hoffe das war verständlich?
Das ganze wird als Schleife ablaufen. Bei jedem erhöhen der Schleife zB xcopy = xcopy + 1 soll aber eine neue Zeile eingefügt werden.
Gruß
Dietz

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilen kopieren und neue Zeile einfügen
10.09.2015 13:24:13
UweD
Hallo
so?
Rückwärts, sonst musst du die eingefügten Zeilen immer noch mit berücksichtigen...

Sub Kopieren()
dim i As Integer
Sheets("Tabelle1").Rows(1).Copy Sheets("Tabelle2").Rows(4) 'fest in Zeile 4
For i = 10 To 2 Step -1
Sheets("Tabelle1").Rows(i).Copy
Sheets("Tabelle2").Rows(i).Insert Shift:=xlDown
Next
End Sub
Gruß UweD

AW: VBA Zeilen kopieren und neue Zeile einfügen
10.09.2015 14:26:01
Dietz
Hallo Uwe,
der Kopiervorgang soll nach bestimmten Bedingungen erfolgen. Mich interessiert zuerst ob ich innerhalb einer Schleife anstatt zu sagen xcopy = xcopy + 1, sprich nach erfolgreichem kopieren der einen Zeile geh mir eine Zeile weiter nach unten, auch definieren könnte, dass er mir erst eine neue leere Zeile einfügen soll bevor der Kopiervorgang fortgesetzt wird. So verstehe ich das, bin aber auch kein VBA Experte. Ist das so überhaupt sinnvoll wie ich mir das vorstelle?
Gruß
Dietz

Anzeige
AW: VBA Zeilen kopieren und neue Zeile einfügen
10.09.2015 14:52:23
UweD
Hallo
Ja, sicher kannst du Zeilen einfügen
Sub sdsdhgs()
Dim xcopy As Integer
xcopy = 1
Do Until xcopy = 10
ActiveSheet.Rows(xcopy).Insert
' hier kannst du kopieren, was du möchtest
xcopy = xcopy + 1
Loop
End Sub
Gruß UweD

AW: VBA Zeilen kopieren und neue Zeile einfügen
10.09.2015 15:21:31
Dietz
Hallo Uwe,
danke. Ich werde das mal ausprobieren ob das für mich so in der Form umsetzbar ist.
Gruß
Dietz

AW: Warum per Schleife?
10.09.2015 15:01:12
Gerd
Hallo D.!
Das ganze wird als Schleife ablaufen.
Das ist eine der langsameren Vorgehensweise beim Kopieren. Häufig geht die Aktion "am Stück".
Wie sind deine genauen Bedingungen?
Gruß Gerd

Anzeige
AW: Warum per Schleife?
10.09.2015 15:20:19
Dietz
Hallo G.!
in der Quellmappe soll geprüft werden ob ab Zeile 3 in der Spalte G der Wert größer 0 ist und ob in der Spalte AD "erfüllt" steht. Sind diese Bedingungen erfüllt sollen bestimmte Zellen aus der Quell- in die Zieldatei ab Zeile 10 kopiert werden. Die Quelldatei soll dann Zeile für Zeile abgearbeitet werden und bei Übereinstimmung in die Zeildatei kopiert werden bzw. die definierten Zellen. Ist eine Zeile rüber kopiert erfolgt dann mittels xcopy = xcopy +1 der Zeilensprung und dort werden dann weitere Werte eingetragen wenn Werte in der Quelldatei gefunden wurden. So verstehe ich das.
Es soll aber nicht nur eine Zeile nach unten gegangen werden, sondern es soll eine neue leere Zeile eingefügt werden wo dann die Werte rein sollen. Ich will damit vermeiden das ich mir andere Werte in der Zieldatei überschreibe. Die Zeilen sollen also dynamisch je nach Umfang der Werte in der Quelldatei erzeugt werden.
Gruß
Dietz

Anzeige
AW: Warum per Schleife?
10.09.2015 17:03:04
Gerd
sollen bestimmte Zellen aus der Quell- in die Zieldatei ab Zeile 10 kopiert werden
Hallo Dietz,
aus welchen Spalten sollen die Zellen kopiert werden?
Und in welche Spalten eingefügt werden?
Gruß Gerd

AW: Warum per Schleife?
10.09.2015 17:20:48
Dietz
Hallo Gerd,
kopiert soll aus den Spalten D,F,G,M,O,AE
und eingefügt in A,C,D,F,G,H
in dieser Reihenfolge, also D nach A, M nach F usw.
Gruß
Dietz
P.S.: Ich hab eine Alternative zusammengebastelt wo ich mir ausreichend Zeilen in der Zieldatei vorab einfüge damit nichts überschrieben wird. Nur dann müsste ich die überschüssigen Zeilen wieder löschen oder wie in diesem Makro leere Zeilen ausblenden. Aber das ist nur eine Notlösung. Lieber wäre mir die Zeilen dynamisch einzufügen.
Sub AusblendenLeereZeilen()
Dim i As Long
Sheets("Ergebnisse").Activate
For i = 10 To 30
Range("A" & i).Select
If ActiveCell.Value = "" Then
ActiveCell.EntireRow.Hidden = True
Else
End If
Next i
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige