Clever-Excel-Forum

Normale Version: Excel VBA: Neue Spalte einfügen & Fomatierung übernehmen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich benötige Hilfe mit einem VBA Code.

Ich habe in einem Tabellenblatt Zeile 1 bearbeitet und möchte nun per Button eine Zeile darunter einfügen.
Übernommen werden sollen Zeilenhöhe, Schriftgröße/farbe, bedingte Formatierungen, Datenüberprüfungen und Formularsteuerelemente. Am besten alles wie in der Zeile darüber, außer die Werte!

Zusätzlich soll in Spalte A eine aufsteigende Nummer eingetragen werden. Also immer die höchste Zahl in Spalte A, +1 (damit die Zahl nur ein mal vorkommt, auch wenn Spalte A nicht aufsteigend sortiert ist).

Ich hoffe jemand kennt sich hier mit Visual Basic aus.


Ich hab es leider nicht so hin bekommen, wie ich es gerne möchte.

Vielen Dank im Voraus.

Gruß
Daniel
Hallo Daniel,

A) vorab
Wenn du eine Liste mit gleichartigen Daten untereinander erstellen willst, wäre aus meiner Sicht immer eine Überschriftszeile sinnvoll.

B) Übernahme der gewünschten Informationen
1. Wenn du die Liste als strukturierte Tabelle einrichtest (Strg+T) werden folgende Eigenschaften:
Zitat:... Schriftgröße/farbe, bedingte Formatierungen, Datenüberprüfungen ...
und auch Formeln beim Einfügen einer neuen Zeile automatisch übernommen.
2. Warum sollen auch Formularsteuerelemente und Zeilenhöhe übernommen werden.
Insbesonder der Sinn von Steuerelementen pro Zeile erschliesst sich mir nicht.



Vielleicht wird das ja anhand einer von dir erstellten Beispildatei verständlicher und kann dann, wie auch die gewünscht Nummernvergabe über VBA glöst werden.
Falls es wirklich ein VBA-code sein soll lässt sich dein Vorhaben super per Makrorecorder aufzeichnen!
Vielen Dank für deine Antwort.

Eine Überschriftenzeile habe ich natürlich eingerichtet.

Es geht vor allem Darum einzelne Spalten in der Tabelle zu sperren und trotzdem per VBA eine neue Zeile einzufügen.
Die neue Zeile soll dann (wie bei Access) eine eindeutige Nummer zugeordnet bekommen.

Wenn die Spalten per Blattschutz gesperrt sind, lässt sich die Tabelle nicht erweitern, bzw. die Formeln werden nicht übernommen.


Ich habe nun eine Beispieldatei erstellt.
Ich hoffe hier wird deutlich, was genau mein Problem ist.
Solls denn jetzt eine Zeile oder ein Spalte sein??
(14.06.2018, 09:19)Frogger1986 schrieb: [ -> ]Solls denn jetzt eine Zeile oder ein Spalte sein??

Eine neue Zeile, bitte. :19:
Hallöchen,

ich würde da auch den Makrorekorder nutzen:

Aufzeichnung beginnen
- irgendeine Zelle markieren
- Zeile "darüber" markieren
- Zeile "darüber" kopieren
- kopierte Zeile einfügen
- Daten löschen
- irgendwo die Formel =MAX(A:A)+1 eintragen
- Ergebnis kopieren
- mit "Werte einfügen" in die Zelle von Spalte A der kopierten Zeile einfügen
- irgendwo Formel löschen
- AUfzeichnung beenden

Hinweis: Das mit der Formel kann man auch im VBA dierekt rechnen. Wenn Du den code aufgezeichnet hast, kannst Du ihn ja hier posten und wir bauen das noch ein.