Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen kopieren und formatieren

Zeilen kopieren und formatieren
06.06.2024 13:55:27
PTom
Hallo zusammen!

Bin auf der Suche nach einem Makro mit dem ich in einer Tabelle jeweils eine Zeile kopieren und darunter einfügen kann.
Dabei soll die neu kopierte Zeile anschließend eine andere Textgröße und -farbe haben.
Das ganze soll von der ersten bis zur letzten nicht leeren Zeile in der Tabelle geschehen...

Vielen Dank
Tom
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren und formatieren
06.06.2024 14:29:27
daniel
Hi
so spezielle Makros wirst du kaum finden.
die muss man sich in der Regel selber schreiben.

with Cells(1, 1).CurrentRegion

with .Columns(.columns.count + 1)
.formulaR1C1 = "=Row()"
.Formula = .Value
end with
end with
with .Cells(1, 1).CurrentRegion
.Copy
.offset(.rows.Count, 0).PasteSpecial xlpasteall
Selection.Font.Size = 12 'anpassen
Selection.Font.Color = vbRed 'anpassen
end with
With Cells(1, 1).CurrentRegion
.Sort Key1 =.Cells(1, .columns.count), order1:=xlascending, header:=xlno
.Columns(.columns.Count).Delete
end with


Gruß Daniel
Anzeige
AW: Zeilen kopieren und formatieren
06.06.2024 14:40:14
PTom
Danke Daniel!

Nach Entfernung des "." beim zweiten 'with' hat's ohne Fehlermeldung gefunkt.

Aber: Ich wollte eigentlich immer eine Zeile kopieren und dann neu formatiert darunter eingefügt haben - und das bis zum Tabellenende...
:)

AW: Zeilen kopieren und formatieren
06.06.2024 15:29:20
daniel
ja.
aber das Ergebnis sollte so das selbe sein.
Zeilen einzeln einfügen ist sehr langsam.
kann man machen, aber bei großen Tabellen dauerts dann auch mal länger.
mit der von mir gezeigten Methode kannst du auch Tabellen mit 500.000 Zeilen so bearbeiten, und du hast, wenn du das Prinzip verstanden hast, eine Methode zur Hand, mit der du auch ohne Makro Tabellen in beliebiger Größe auf diese Weise bearbeiten kannst.

du hast vermutlich sowas erwartet:
Sub M1()

Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Rows(i).Copy
Rows(i + 1).Insert shift:=xlDown
Rows(i + 1).Font.Color = vbRed
Next
End Sub


aber das dauert bei mir für 1000 Zeilen schon 27 Sekunden (17, wenn man Bildschirmaktualisierung usw ausschaltet)
der erste Code nicht mal 1/10 Sekunde. (die 500.000 Zeilen in 4)
wenn ich die Schritte von Hand ausführe, dann brauch ich ähnlich lang und wenn ein Code schon bei so wenigen Zeilen (1000 ist heute nicht mehr viel) länger braucht, als man ohne Makro benötigen würde (wenn man es halbwegs geschickt macht), dann ist der Code nicht gut.

also ja, bei kleinen Tabellen kann man das mit der Schleife machen, aber bei größeren Tabellen oder wenn das Makro noch mehr machen soll, sollte man schon auf die Geschwindigkeit achten.
und wie gesagt, wenn ich meine erste Methode kenne, kann auch das auch mal so machen, ohne erst ein Makro schreiben zu müssen.


Gruß Daniel

Anzeige
AW: Zeilen kopieren und formatieren
07.06.2024 07:39:03
PTom
Danke Daniel!

Das funktioniert schon mal sehr gut. Geschwindigkeit spielt dabei eine untergeordnete Rolle, da ich dieses Makro nur ungefähr 2x im Jahr anwenden muss (rund 4000 Zeilen).

Jetzt noch eine Spezialfrage:
Ich benötige nicht alle Inhalte der zu kopierenden Zeile - also z.B. nur die Inhalte von A-L.
Kannst du mir da noch behilflich sein?

Danke
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige