Freigeben über

Excel formatierten Block einfügen

Anonym
2019-01-21T08:07:22+00:00

Hallo,

Ich hätte ein wichtiges Anliegen und komme auf keine passende Lösung.

Für meine Planung habe ich eine definierte Formatierung und jedes Ereignis mit dessen Tätigkeiten ist als eigener Block im Sheet farblich voneinander abgegrenzt (oberste dunkelgrün, darunter blau, dann grau). Nun würde ich gerne per Knopfdruck unter dem vorangegangenen einen identen, leeren Block einfügen. Allerdings sollten Zeilen hinzugefügt bzw gelöscht werden können. Ein "Basisblock" sollte oben die drei färbigen Zeilen haben, danach 8 Zeilen mit einer Kurzbeschreibung in der ersten Spalte, der Rest wie ersichtlich (Grüne Spalten, der Rest leer) 

Es gibt eine fixierte Kopfzeile bis Zeile 18, erst ab dort soll der erste Block eingefügt werden. Hinter den hellgrünen Zellen ist eine Formel hinterlegt, welche auch mitkopiert werden muss.

Hoffe, ich konnte mein Problem bzw. Aufgabenstellung möglichst genau definieren und dass ich hier Hilfe finde.

Gruß

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

Antwort, die vom Frageautor angenommen wurde

Andreas Killer 144.1K Zuverlässigkeitspunkte Freiwilliger Moderator
2019-01-21T11:52:14+00:00

Das ist ganz einfach, mach Dir ein neues Blatt in Deine Datei und nenne es "Vorlage". Dort erstellst Du Deinen Block ab Zelle A1 so wie er kopiert werden soll, mit Farben, Formeln und Gedöns.

Nehmen wir mal an Dein Blatt heißt "Stammdaten" und das ist das aktuelle Blatt und sieht so aus wie in Deinem Screenshot.

Nun startest Du den Makro-Rekorder

Klickst auf Zelle A32

Geh in das Blatt "Vorlage"

Markierst alle Zeilen (nach deinem Beispiel wäre das Zeile 1 bis 13)

Kopieren

Geh in das Blatt "Stammdaten"

Einfügen

Makro-Rekorder aus

Und schon hast Du ein fertiges Makro, das sieht dann so aus:

Sub Makro1()

'

' Makro1 Makro

'

'

    Range("A32").Select

    Sheets("Vorlage").Select

    Rows("1:13").Select

    Selection.Copy

    Sheets("Stammdaten").Select

    ActiveSheet.Paste

End Sub

Damit das universell funktioniert löschen wir die Anwahl der ersten Zelle A32 (und Kommentare) raus und sind schon fertig:

Sub Makro1()

    Sheets("Vorlage").Select

    Rows("1:13").Select

    Selection.Copy

    Sheets("Stammdaten").Select

    ActiveSheet.Paste

End Sub

Aber: Bitte benutze niemals SELECT, SELECTION, ACTIVECELL, es ist langsam und fehleranfällig. Referenziere immer die Objekte.

Daher optimieren wir das ganze und geben ihm einen sinnigen Namen:

Sub VorlageEinfügen()

    Sheets("Vorlage").Rows("1:13").Copy

    ActiveSheet.Paste

End Sub

Das war's. Jetzt brauchst Du nur noch irgendeine Zelle in Spalte A auszuwählen, drück Alt-F8 und führe das Makro aus.

Nicht vergessen: Die Datei muss nun als .XLSM gespeichert werden, sonst ist beim nächsten Öffnen das Makro weg.

Alles klar?

Andreas.

War diese Antwort hilfreich?

Eine Person fand diese Antwort hilfreich.
0 Kommentare Keine Kommentare

1 zusätzliche Antwort

Sortieren nach: Am hilfreichsten
  1. Anonym
    2019-01-21T13:07:18+00:00

    Das ging ja mehr als einfach- besten Dank! Auf die Funktion mit der Makro-Aufzeichnung hatte ich völlig vergessen.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare