Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen in untere Zeilen per VBA kopieren mit zusätzlicher Zeile nach jedem Schritt
#1
Hallo zusammen,

ich habe vor kurzer Zeit bei Excel VBA meinen Einstieg gefunden, bin aber noch sehr unsicher in allem.

Ich hänge an folgender Frage:
Wie kann ich „Zellen runterkopieren“ und dabei den Zielbereich mit jedem Schritt vergrößern?
So soll z.B. in Spalte A Zeile 10 der Inhalt in Zeile 11 kopiert werden und dies soll dann in jeder 15. Zeile dieser Spalte wiederholt werden, allerdings soll bei jedem Schritt die Anzahl der kopierten Zeilen erhöht werden. 
Im nächsten Schritt wäre dann der Inhalt also in Zeile 25. Dieser soll dann nicht nur in Zeile 26 sondern zusätzlich Zeile 27 kopiert werden; dann soll Zeile 40 in 41-43 kopiert werden usw. 

Ich habe mich schon an dem Code versucht allerdings scheitere ich an der Frage wie bei jedem Schritt die Anzahl der Zeilen im Zielbereich erhöhe. Ich vermute das ich eine zusätzliche Variable laufen lassen muss? Kann mir bitte jemand helfen?



Sub ZellenKopieren ()
Dim i As Integer 

For i = 10 To Cells(Rows.Count, 1).End(xlUp).Row Step 15
Cells(i, 1).Select
Selection.AutoFill Destination:=Cells(i+1,1) Type:=xlFillDefault
next i

End Sub
Antworten Top
#2
Hallo,

so vielleicht:
Sub ZellenKopieren()
Dim i As Long, j As Long

For i = 10 To Cells(Rows.Count, 1).End(xlUp).Row Step 15
j = j + 1
Cells(i, 1).Copy Cells(i + 1, 1).Resize(j)
Next i
End Sub
Gruß Uwe
Antworten Top
#3
(05.07.2019, 00:03)Kuwer schrieb: Hallo,

so vielleicht:
Sub ZellenKopieren()
 Dim i As Long, j As Long
 
 For i = 10 To Cells(Rows.Count, 1).End(xlUp).Row Step 15
   j = j + 1
   Cells(i, 1).Copy Cells(i + 1, 1).Resize(j)
 Next i
End Sub
Gruß Uwe

Das sieht gut aus! Vielen Dank! Problem ist nur das ich ein entscheidendes Detail vergessen hatte. Die Erhöhung um eine Zeile soll nach jedem 9. Schritt durchgeführt werden. Also in den ersten 9 Runden soll nur eine Zelle jeweils kopiert werden, danach dann 2 usw..
Antworten Top
#4
Hallo,
Sub ZellenKopieren()
Dim i As Long, j As Long
j = 9
For i = 10 To Cells(Rows.Count, 1).End(xlUp).Row Step 15
Cells(i, 1).Copy Cells(i + 1, 1).Resize(Fix((j) / 9))
j = j + 1
Next i
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • exblow375
Antworten Top
#5
(05.07.2019, 17:47)Kuwer schrieb: Hallo,
Sub ZellenKopieren()
 Dim i As Long, j As Long
 j = 9
 For i = 10 To Cells(Rows.Count, 1).End(xlUp).Row Step 15
   Cells(i, 1).Copy Cells(i + 1, 1).Resize(Fix((j) / 9))
   j = j + 1
 Next i
End Sub
Gruß Uwe

Genial! Das läuft genau wie ich es brauch, ganz lieben Dank!! Hätte ich mir wohl die Zähne dran ausgebissen..
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste