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

Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile

Forumthread: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile

Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 09:44:02
PTom
Hallo zusammen!

Habe ein Makro mit dessen Hilfe ich in einem Tabellenblatt jede nicht leere Zeile unter die vorhergehende kopieren kann.
Nun benötige ich aber nicht alle Inhalte der Zeile, sondern nur die Inhalte der Zellen der Reihe A-L.

Hier mein bisheriges Makro:

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 = -4165632
Rows(i + 1).Font.Size = 7.5
Rows(i + 1).Font.Italic = True
Rows(i + 1).RowHeight = 21
Next


Vielen Dank
Thomas
Anzeige
Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 09:50:08
PTom
Wenn als "zusätzliches Feature" die Möglichkeit besteht, dass nur Zeilen kopiert werden, in denen die Spalte B nicht leer ist, wäre das optimal... :)
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 13:29:51
Piet
Hallo

so sollte es klappen, bei mir funktioniert es. Die With Klammer vereinfacht die Schreibweise der Syntac.

mfg Piet



For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 2) > "" Then
With Cells(i, 1).Resize(1, 10)
.Copy 'Spalten A-L kopieren
.Offset(1, 0).Insert shift:=xlDown
.Offset(1, 0).Font.Color = -4165632
.Offset(1, 0).Font.Size = 7.5
.Offset(1, 0).Font.Italic = True
.Offset(1, 0).RowHeight = 21
End With
End If
Next
Anzeige
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 13:55:49
Piet
Hallo

stimmt, da habe ich was übersehen, auf ein neues. Probiere es bitte so.

mfg Piet



For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 2) > "" Then
Rows(i).Copy
Rows(i + 1).Insert shift:=xlDown
Rows(i + 1).Clear 'Clr neue Zeile
With Cells(i, 1).Resize(1, 10)
.Copy 'Spalte A-L kopieren
.Offset(1, 0).Insert shift:=xlDown
.Offset(1, 0).Font.Color = -4165632
.Offset(1, 0).Font.Size = 7.5
.Offset(1, 0).Font.Italic = True
.Offset(1, 0).RowHeight = 21
End With
End If
Next
Anzeige
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 14:14:12
PTom
Nochmals danke, aber...

- es wird nach der kopierten Zeile eine weitere leere erzeugt
- ab "K" werden der "ursprüngliche Zellinhalt" um 1 Zeile nach oben verschoben
- die angedachte Formatierung der neu kopierten Zellen wird somit überschrieben

AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 14:38:56
PTom
Das Problem scheint beim Einfügen der "leeren Zeile" zu sein.
Dadurch wandert der Bereich ab "K" eine Zeile über die ursprüngliche Position.
Die "geplant" kopierte Zeile wird offensichtlich auch nicht wie gewünscht formatiert.

Anzeige
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 14:57:50
PTom
Habe ein wenig herumgebastelt...

Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 6) > "" Then
Rows(i).Copy
Rows(i + 1).Insert shift:=xlDown
Rows(i + 1).Font.Color = -4165632
Rows(i + 1).Font.Size = 7.5
Rows(i + 1).Font.Italic = True
Rows(i + 1).RowHeight = 21
End If
Next

Zu meinem "Glück" fehlt mir einzig, dass die Inhalte ab "L" quasi gelöscht werden.
Wenn du mir hilfst, wie ich den Bereich "L-Z" definiere, so würde das ausreichen.
Anzeige
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 16:01:41
Piet
Hallo

Sorry, da war heute bei dir wohl nicht mein Tag?? Was solls, auf ein neues! Wäre doch gelacht, wenn wir das nicht schaffen.
Range(Cells(i + 1), "L", Cells(i + 1), "Z").ClearContents

mfg Piet

AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
17.06.2024 11:08:34
PTom
Got It !


Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 2) > "" Then
Rows(i).Copy
Rows(i + 1).Insert shift:=xlDown
Rows(i + 1).Font.Color = -4165632
Rows(i + 1).Font.Size = 7.5
Rows(i + 1).Font.Italic = True
Rows(i + 1).RowHeight = 21
Range(Cells(i + 1, 17), Cells(i + 1, 34)).ClearContents
End If
Next

Danke
Anzeige
AW: Teil von Zeilen kopieren bis zur letzten nicht leeren Zeile
14.06.2024 13:41:04
PTom
Hallo Piet!

Funktioniert soweit, dass nur die gewünschten Zeilen & Inhalte kopiert werden.
Allerdings "wandern" alle Inhalte ab "L" um eine Zeile nach oben - und dabei auch in die zuvor kopierten Zeilen. Der Bereich sollte aber leer bleiben...

:)
Tom

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige