Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen

Forumthread: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen

VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
10.11.2024 23:07:52
SonjaT
Hallo,
vielleicht mag mir hier jemand einen Tipp geben, wie ich mein Problem lösen kann, der Ansatz scheint zu klappen, mein Ziel ist aber nicht erreicht.

Die Spaltenüberschriften stehen in A2:F2 und sollen dort bleiben.
Die Werte, die n mal, hier jetzt gerade 2 mal, wiederholt werden sollen, stehen ab A3:F3.
Nun sollen die Werte - Beispiel siehe hier n mal wiederholt werden und die Überschriften in A2:F2 stehen bleiben.

A3: A B3: Hallo C3 bis F3: weiterhin texte oder zahlen
A4:T B4: Gut C3 bis F3: weiterhin texte oder zahlen

Am Ende möchte ich
A3: A B3: Hallo C3 bis F3: weiterhin texte oder zahlen
A4: A B4: Hallo C4 bis F4: weiterhin texte oder zahlen
A5: A B5: Hallo C5 bis F5: weiterhin texte oder zahlen
A6T B6: Gut C6 bis F6: weiterhin texte oder zahlen
A7:T B7: Gut C7 bis F7: weiterhin texte oder zahlen
A8:T B8: Gut C8 bis F8: weiterhin texte oder zahlen



Bislang habe ich folgenden Code:
Sub Duplizieren()

Const Faktor As Long = 3
With Range("A3:F3").CurrentRegion
.Copy
.Resize(.Rows.Count * Faktor).PasteSpecial xlPasteAll
End With
Range("A3:F3").CurrentRegion.Sort key1:=Cells(1, 1), order1:=xlAscending, Header:=xlNo
End Sub


Problem ist jedoch, dass er mir die Überschrift in A2 auch mit wiederholt. Wer mag mir helfen? Ich sage schon einmal Danke
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
10.11.2024 23:29:20
Christian
Hallo Sonja,

verstehe ich dich richtig, hast einen Bereich ab Zeile 3 bis Zeile X, den willst du 3mal duplizieren?

Dann probier es mal hiermit:

Allerdings wenn es das nicht ist, wird dir wohl jemand anderes helfen müssen. Ich bin leider selber kein VBA Spezialist...

Sub Duplizieren()

Const Faktor As Long = 3
Dim letzteZeile As Long
Dim Bereich As Range

letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row

Set Bereich = Range("A3:F" & letzteZeile)

Bereich.Copy
Range("A" & letzteZeile + 1).Resize(Bereich.Rows.Count * Faktor, Bereich.Columns.Count).PasteSpecial xlPasteAll

Application.CutCopyMode = False
End Sub
Anzeige
AW: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
11.11.2024 08:00:42
MCO
Guten Morgen, Sonja!

So schwer war es nicht: mit Current.region wird der ganze Bereich markiert, ink. Überschrift, es wäre also das gleiche Ergebnis bei Range("A2").current.region.
Und diesen Bereich kopierst du dann. Also wird er auch mit eingefügt.
Vorgehensweise: Bereich festlegen, mit offset 1 Zeile nach unten, mit Resize 1 Zeile kürzen, dann kopieren + einfügen. Sortieren wieder inkl. Überschrift (header = xlyes)

Codiert sieht das ganze so aus.

Sub Duplizieren()

Const Faktor As Long = 3

With Range("A3").CurrentRegion
Set Rng = .Offset(1, 0).Resize(.Rows.Count - 1) '* Faktor
Rng.Copy
Rng.Resize(Rng.Rows.Count * Faktor).PasteSpecial xlPasteAll
.Sort key1:=Cells(1, 1), _
order1:=xlAscending, _
Header:=xlYes
End With

End Sub


Gruß, MCO
Anzeige
AW: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
11.11.2024 10:01:55
SonjaT
Guten Morgen,

an alle einen herzlichen Dank. Es klappt!

AW: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
10.11.2024 23:29:57
Onur
Wieso postest du keine Datei mit Wunschergebnis dazu, statt alles mit Worten zu beschreiben?
AW: VBA Zeilen x mal wiederholen, Überschrift nicht wiederholen
11.11.2024 09:56:17
daniel
Hi

CurrentRegion erweitert den Zellbereich nicht nur nach unten, sondern auch nach oben und dadurch kommt die Überschrift mit rein.
hier eine mögliche Lösung.
das zweite WITH nimmt die Überschrift aus dem Zellbereich raus
Sub Duplizieren()

Const Faktor As Long = 3
With Range("A3:F3").CurrentRegion '--- Zellbereich mit Überschrift
with .Intersect(.Cells, .offset(1, 0)) '--- Zellbereich ohne Überschrift
.Copy
with .Resize(.Rows.Count * Faktor) '--- Zellbereich ohne Überschrift dupliziert
.PasteSpecial xlPasteAll
.Sort key1:=Cells(1, 1), order1:=xlAscending, Header:=xlNo
end with
end with
end with

End Sub


Gruß Daniel
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18