Excel Makro! Wenn Zeile beschrieben, dann nächste Zeile... Wer kann mir bei diesem Problemchen behilflich sein?

1 Antwort

So richtig verstehe ich Dein Vorhaben noch nicht, aber ich zeige Dir mal, was in mir zusammengereimt habe.
Dabei gehe ich erstmal davon aus, dass nur die Zeilen 9 und 10 beschrieben werden sollen. So hast Du es erklärt.
Wenn das erweitert werden soll, sag nochmal Bescheid.
Ich schau morgen wieder vorbei.

Sub Makro2()
'
' Makro2 Makro
'
' Tastenkombination: Strg+e
'
With ActiveSheet
.Range("D23:D29").Copy
If IsEmpty(.Range("E9")) Then
.Range("E9").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Else: .Range("E10").PasteSpecial Paste:=xlPasteAll, Transpose:=True
.Range("D23:D29").ClearContents
End If
End With
Application.CutCopyMode = False
End Sub
Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Gutefrageguest 
Fragesteller
 09.12.2015, 10:05

Hallo,

vielen Dank für die schnelle Antwort. Mir ist soeben mein kleiner Fehler aufgefallen. 

Ich möchte die Daten die zwischen D23:D29 sind in die Zeilen E9:K9 transponieren. Falls jedoch diese Zeilen besetzt sein sollten, möchte ich dass er diese in die unteren Zeilen einsetzt. Also in diesem Falle dann in die Zeilen E10:K10. Im Makro habe ich dann anschließend die Daten zwischen D23:D29 löschen lassen, damit ich die nächsten Artikelmerkmale sofort einfügen kann.Könnte man natürlich auch direkt draufkopieren.

Ich bedanke mich schon mal für alle Antworten. 

0
Oubyi, UserMod Light  09.12.2015, 11:39
@Gutefrageguest

So läuft mein Code doch, oder?
Wenn immer in die nächst freie Zelle ab E9 kopiert werden soll, dann sollte das so klappen:

Sub Makro2()
'
' Makro2 Makro
'
' Tastenkombination: Strg+e
'
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("E9:E1000")
For Each Zelle In Bereich
If IsEmpty(Zelle) Then Exit For
Next Zelle
With ActiveSheet
.Range("D23:D29").Copy
Zelle.PasteSpecial Paste:=xlPasteAll, Transpose:=True
.Range("D23:D29").ClearContents
End With
Application.CutCopyMode = False
End Sub
2