Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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
VBA: Zeilen kopieren, mehrfach einfügen
15.12.2015 11:21:00
Hermann
Hallo zusammen,
in meinem Tabellenblatt Tabelle1 befinden sich 45 Zeilen in denen verschiedene Werte und Formeln eingetragen sind.
Nun möchte ich diesen "Zeilenblock" kopieren und beginnend ab Zeile 46 mehrfach einfügen. Die Anzahl der einzufügenden "Zeilenblöcke" (wie oft mehrfach)soll über eine Imputbox eingegeben werden. Ich bekomme diesen scheinbar einfachen Code leider nicht hin. Den VBA-Code per Makrorekorder möchte ich nicht verwenden. Vielleicht kann mir von Euch jemand behilflich sein. Danke.
Sub ZeilenEinfügen()
Dim rngRowsCopy As Range            'Variable für Zeilenbereich der kopiert
werden soll
Dim rngRowsInsertCopy As Range      'Variable für Zeilenbereich in dem die
kopierten Zeilen eingefügt werden sollen
Dim byteBlockanzahl As Byte         'Variabel, für die Anzahl wie oft der
kopierte Block eingefügt werden soll.
Const conCopyRow As Long = 1        ' KopierStartZeile
Const conCopyRowCount As Long = 45  ' Anzahl Zeilen
Const conInsertRow As Long = 46      ' EinfügeZeile
byteBlockanzahl = InputBox("Bitte Anzahl eingeben.")
Set rngRowsCopy = Rows(conCopyRow).Resize(conCopyRowCount)
Set rngRowsInsertCopy = Rows(conInsertRow). _
Resize(rngRowsCopy.Rows.Count * byteBlockanzahl)
'With rngRowsInsertCopy
'    .Insert
rngRowsCopy.Copy Destination:=rngRowsInsertCopy. _
Columns(1).Offset(rngRowsInsertCopy.Rows.Count)
'End With
Set rngRowsCopy = Nothing
Set rngRowsInsertCopy = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Schleife...
15.12.2015 13:33:31
MCO

Sub ZeilenEinfügen()
Dim rngRowsCopy As Range            'Variable für Zeilenbereich der kopiert werden soll
Dim rngRowsInsertCopy As Range      'Variable für Zeilenbereich in dem die kopierten Zeilen  _
eingefügt werden sollen
Dim byteBlockanzahl As Byte         'Variabel, für die Anzahl wie oft der kopierte Block  _
eingefügt werden soll.
Const conCopyRow As Long = 1        ' KopierStartZeile
Const conCopyRowCount As Long = 45  ' Anzahl Zeilen
Const conInsertRow As Long = 46      ' EinfügeZeile
byteBlockanzahl = InputBox("Bitte Anzahl eingeben.")
Set rngRowsCopy = Rows(conCopyRow).Resize(conCopyRowCount)
Set rngRowsInsertCopy = Rows(conInsertRow). _
Resize(rngRowsCopy.Rows.Count * byteBlockanzahl)
'    'With rngRowsInsertCopy
'    '    .Insert
'        rngRowsCopy.Select
'        rngRowsCopy.Copy Destination:=rngRowsInsertCopy. _
'                                      Columns(1).Offset(rngRowsInsertCopy.Rows.Count)
'    'End With
For i = 1 To byteBlockanzahl
rngRowsCopy.Copy Range("A" & conInsertRow * i)
Next i
Set rngRowsCopy = Nothing
Set rngRowsInsertCopy = Nothing
End Sub
Gruß, MCO

Anzeige
AW: Schleife...
15.12.2015 13:59:52
Hermann
Hallo MCO,
die Variante hatte ich schon probiert, weil ich dachte mit einer Schleife
muß es funktionieren. Leider nein. Die Schleife macht nur einen Durchlauf
und dann ist Schluß.
MfG HG

366 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige