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.

Excel VBA: Neue Spalte einfügen & Fomatierung übernehmen?
#1
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
Antwortento top
#2
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.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antwortento top
#3
Falls es wirklich ein VBA-code sein soll lässt sich dein Vorhaben super per Makrorecorder aufzeichnen!
Eine Menge reden, aber nichts sagen können viele...
Antwortento top
#4
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.


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 17,17 KB / Downloads: 5)
Antwortento top
#5
Solls denn jetzt eine Zeile oder ein Spalte sein??
Eine Menge reden, aber nichts sagen können viele...
Antwortento top
#6
(14.06.2018, 09:19)Frogger1986 schrieb: Solls denn jetzt eine Zeile oder ein Spalte sein??

Eine neue Zeile, bitte. 19
Antwortento top
#7
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.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


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