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 - Zeile immer über bestimmter Zeile einfügen!
#1
Hallo in die Runde,



ich habe folgendes Problem. Ich möchte ein Makro in meine Tabelle einfügen, das eine Zeile kopiert und dann immer über einer bestimmten Zeile wieder einfügt. D.h. zum Beispiel soll Zeile 9 bei Anwendung des Makros über Zeile 12 eingefügt werden (siehe Bild).





Mein derzeitiges erstelltes Makro sieht dabei folgendermaßen aus:



Sub UAuf()

'

' UAuf Makro

'



'

    Rows("9:9").Select

    Selection.Copy

    Rows("11:11").Select

    Selection.Insert Shift:=xlDown

    Selection.SpecialCells(xlCellTypeConstants, 1).Select

    Application.CutCopyMode = False

    Selection.ClearContents

    Range("D10").Select

End Sub





Würde mich über eine Antwort sehr freuen, vielen Dank.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo,

reicht da nicht dieses Makro?

Code:
Rows("9:9").Copy
Rows("12:12").Insert Shift:=xlDown
Application.CutCopyMode = False
_________
viele Grüße
Karl-Heinz
Antworten Top
#3
Code:
Rows(ActiveCell.Row).Copy
Rows(ActiveCell.Row + 3).Insert Shift:=xlDown
Applicatio.Cutcopymode = False
Schöne Grüße
Berni
Antworten Top
#4
Hallo Antonius,

Code:
Sub UAuf()
    Dim lngZeile As Long
    lngZeile = 12
    Rows(9).Copy
    Rows(lngZeile).Insert Shift:=xlDown
    If Application.WorksheetFunction.Count(Rows(lngZeile)) Then
      Rows(lngZeile).SpecialCells(xlCellTypeConstants, 1) = ""
    End If
    Application.CutCopyMode = False
End Sub

Gruß Uwe
Antworten Top
#5
Vielen Dank erstmal für die Antworten.

Leider funktioniert es so noch nicht, da ich für jeden einzelnen Abschnitt, also für "Bodenverbesserungen","Bauliche Anlagen" und "Wohngebäude" so ein einzelnes Makro programieren möchte. Und mit jeder neuen eingefügten Zeile verschiebt sich ja die ganze Tabelle und damit die einzelnen Bezüge für die Makros. Ich bräuchte also einen Befehl, der die kopierte Zeile immer pro Abschnitt entweder über die Zeile mit der Bezeichnung "Bauliche Anlage" oder "Wohngebäude" einfügt.

Im Internet hab ich diese Seite gefunden

https://answers.microsoft.com/de-de/msof...ccda391456

da wird es eigl genau beschrieben, ich kriege es bloß nicht auf meine Tabelle übertragen.
Antworten Top
#6
Hallo,

absolut schlechter Listenaufbau. Wenn du deine Zwischenüberschriften in eine eigene Spalte schreibst, kannst du neue Daten am Ende der Liste anfügen, dann kannst du anschließend nach den verschiedenen Unterhaltungsgruppen sortieren und brauchst keine Makros.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


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