Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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