Clever-Excel-Forum

Normale Version: VBA - Kopieren und mit Versatz einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo miteinander,

ich würde gern den Inhalt des beschriebenen Bereichs CQ bis CR in CQ wieder einfügen.
Zur Not auch in einer anderen Zelle.

Das einfügen soll aber erst ab Zeile 6 erfolgen. Alles was über der Zeile 6 stand soll anschließend entfernt werden.

Zwischen jeder Zeile soll nun eine Leerzeile stehen.

Es dürfen keine Zeilen oder Spalten hinzugefügt oder entfernt werden. 

Am Ende steht also derselbe Inhalt wie zuvor dort - ohne das die Struktur des Blattes verändert worden ist. Und beginnend in Zeile 6 und immer einer Leerzeile dazwischen.

Ginge das?

Liebe Grüße
Klaus
Hi

meinst du in etwa so?

Code:
Sub x()
Dim vntIn As Variant
Dim i As Long, j As Long, lrow As Long

With Worksheets("Tabelle1") 'Tabellennamen anpassen
  lrow = .Columns(95).Resize(, 2).SpecialCells(xlLastCell).Row
  vntIn = .Range("CQ1:CR" & lrow)
  .Range("CQ1:CR" & lrow).ClearContents
  j = 6
  For i = 1 To UBound(vntIn, 1)
    .Cells(j, 95) = vntIn(i, 1)
    .Cells(j, 96) = vntIn(i, 2)
    j = j + 2
  Next
End With
End Sub

VG Juvee
Hallo Juvee,

vielen Dank für deinen Code.

Der Ablauf stoppt in dieser Zeile:
lrow = .Columns(95).Resize(, 2).SpecialCells(xlLastCell).Row

Als Meldung wird ausgeworfen, dass die SpecialCells Eigenschaft nicht zugeordnet werden kann.

Liebe Grüße
Klaus
Hi,

bei mir funzt es.

Probiere  es so

lrow =.Columns(95).Resize(, 2).Cells.SpecialCells(xlCellTypeLastCell).Row

VG Juvee
Vielen Dank für deine Mühen Juvee,

jupp so funktioniert es.

Ich wünsche dir einen guten Rutsch und ein frohes neues Jahr :)

Liebe Grüße
Klaus