VBA - Kopieren und mit Versatz einfügen
#1
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
Antworten Top
#2
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
Antworten Top
#3
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
Antworten Top
#4
Hi,

bei mir funzt es.

Probiere  es so

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

VG Juvee
Antworten Top
#5
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
Antworten Top


Gehe zu:


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