f34rless: Makros in Excel

Guten Abend

ich hoffe das ich hier bei Euch einen Hinweis bekomme, auch wenn es sich nicht um HTML handelt.
Folgendes Thema.
Eine komplette Zeile mit 6 Spalten (in der 6 steht eine wichtige Formel) soll über ein makro eingefügt werden. Wie ich ein Makro erstelle und wie ich dieses dem Button zuweise, habe ich bereits geschafft.
Ich möchte gern die Zeile aber so einfügen, das die neue einzufügende Zeile immer ganz oben in der Liste steht.

Bin für jede Hilfe dankbar.

Danke Schön
f34rless

  1. Hallo

    Eine komplette Zeile mit 6 Spalten (in der 6 steht eine wichtige Formel) soll über ein makro eingefügt werden. Wie ich ein Makro erstelle und wie ich dieses dem Button zuweise, habe ich bereits geschafft.
    Ich möchte gern die Zeile aber so einfügen, das die neue einzufügende Zeile immer ganz oben in der Liste steht.

    Wo ist das Problem?

    1. Füge in der richtigen Zeile (d.h. ganz oben in der Liste) eine neue Zeile ein.
    2. Kopiere in die neue Zeile den gewünschten Inhalt

    Freundliche Grüße

    Vinzenz

    1. Die bestehenden Zeilen werden nicht verschoben, sondern die erste wird von der neuen leeren Zeile überschrieben.

      Schönen Abend ...

      1. Hallo

        Die bestehenden Zeilen werden nicht verschoben, sondern die erste wird von der neuen leeren Zeile überschrieben.

        Deswegen sollst Du ja zuerst eine neue leere Zeile einfügen, damit Du eben keine vorhandene Daten überschreibst.

        Beispiel: Du möchtest in Zeile 7 des aktuellen Arbeitsblattes eine neue leere Zeile einfügen und die vorhandenen Zeilen um eine Zeile nach unten verschieben:

        ActiveSheet.Rows(7).Insert Shift:=xlDown

        Kopiere nun Deine sechs Zellinhalte in die neue Zeile :-)

        Freundliche Grüße

        Vinzenz

  2. Hallo f34rless

    Ich möchte gern die Zeile aber so einfügen, das die neue einzufügende Zeile immer ganz oben in der Liste steht.

    Wenn mir nicht einfällt, wie ich etwas per Macro erreichen kann, dann gehe ich auf Extras -> Macro -> Aufzeichnen. Dann mache ich es einmal manuell, beende die Aufzeichnung und schaue mir dann das Macro an. Oft muss dann nur noch ein bisschen Müll herausgelöscht werden und das Select-Objekt durch ein Range-Objekt ersetz werden, damit es dann wie gewünscht funktioniert.

    Beim Einfügen einer neuen Zeile erhalte ich z.B.:

    Rows("1:1").Select
        Selection.Insert Shift:=xlDown

    oder:

    Range("A1").Select
        Selection.EntireRow.Insert

    Nun kann ich schmeiße ich Select und Selction raus und erhalte:

    Rows("1:1").Insert Shift:=xlDown

    bzw.:

    Range("A1").EntireRow.Insert

    Aus Rows("1:1") kann ich noch Rows(1) machen oder Statt Range("A1") Cells(1, 1) verwenden.

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!