Zeilen bei einfügen bei "aktiver Zeile" UND kopieren einer Formel in einen bestimmten Bereich dieser Zeile

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Fobä.

    Zeilen bei einfügen bei "aktiver Zeile" UND kopieren einer Formel in einen bestimmten Bereich dieser Zeile

    Guten Tag,

    ich möchte in Excel ein Makro erstellen das folgende Funtion erfüllt:


    1. Einfügen einer kompletten neuen Zeile in der aktuell markierten Zeile
    2. Beibehalten der Formatierung der Zeilen darüber (macht Excel ja meist schon von alleine)
    3. Kopieren/übernehmen von Formeln (stehen bereits in der Excel Datei) in einem bestimmten Spaltenbereich dieser neuen Zeile (z.B. nur von F10 - F16)
    Punkt 1. und 2. habe ich schon hinbekommen, aber ich kriegs nicht hin, dass ich danach in dieser neuen Zeile in einem bestimmten Bereich die Formeln übernehme.

    Kann mir jemand weiterhelfen? Ich wäre euch sehr dankbar !!



    Mit folgendem Code habe ich bereits die Punkte 1. + 2. erfüllt:




    Dim Zelle As Range

    Set Zelle = ActiveCell

    Range(Zelle,"F196").Copy Zelle.Offset(1, 0)

    End Sub
    3. Kopieren/übernehmen von Formeln (stehen bereits in der Excel Datei) in
    einem bestimmten Spaltenbereich dieser neuen Zeile (z.B. nur von F10 -
    F16)

    Wenn du nur die Fomel kopieren möchtest, ist dies ganz einfach:

    Quellcode

    1. Range("F10") = Range("D6").Formula

    Quellcode

    1. Range("F10:F16") = Range("A10:A16").Formula

    Bitte beachte: Es werden die Formeln kopiert, so wie sie sind. D.h. die Bezüge ändern sich nicht automatisch :!:
    (...) zum kopieren auswähle
    Range("F10:F16") = ActiveCell.Formula
    Funktioniert, vielen Dank. Jetzt habe ich noch das Problem, dass in Bereichen in welchen ich keine Zahlen/Werte mitkopieren möchte, die Zahlen/Werte von der darüberstehenden Zeile fortgesetzt werden. Also wenn oben drüber eine 10 steht, und ich erweitere um eine Zeile, dann führt er in meiner neuen Zeile die 10 fort.

    Ich will, dass dort aber kein Wert vorhanden ist, kann ich einstellen, dass z.B. Zeile F04 - F10 geleert werden??

    Mein Code sieht aktuell so aus:





    Sub Zeile_erweitern()

    Dim Zelle As Range

    Set Zelle = ActiveCell

    Range(Zelle, "CF500").Copy Zelle.Offset(1, 0)

    Range("AP18:BF18") = ActiveCell.Formula

    End Sub
    Hallo!

    Da gibts jetzt eine Hilfe zur Selbsthilfe ?( : Nimm einmal ein Makro auf. Mach dann, was du tun willst (z.B. einzelne Zellen selektieren und den Inhalt löschen). Beende die Aufnahme, rufe dann den Editor auf und schau nach, wie der Code aussieht. Voila. Dann kannst du den erzeugten Code entsprechend in dein Skript einpflegen.

    Grüße!