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.

VBA: Zeilen einfügen + Formeln & Format übertragen, Zellen löschen (knifflig!)
#1
Hallo liebe Forum-Nutzer:innen,

ich habe diesmal eine ziemlich knifflige Angelegenheit, die man vielleicht auf unterschiedliche Weise lösen könnte.

Ich habe ein Muster angehängt, die echte Excel-Datei ist wesentlich umfangreicher, ich habs mal auf das wichtigste zusammen gekürzt, was für die Frage notwendig ist.

Gleich vorweg, ich bin sicher kein absoluter Excel oder VBA-Profi, somit bin ich mir sicher, dass man vor allem im VBA Sachen einfacher lösen könnte....

Problemstellung:

Ich habe eine große Tabelle, wo gewisse Nutzer etwas eingeben können (gelbe Felder), in den grünen Feldern sind ganz normale Formeln hinterlegt, die sich zeilenweise berechnen. In der Spalte J kann der Nutzer dann Zeilen auswählen, die aufsummiert werden sollen. Ich habe es so umgesetzt, dass der Nutzer diese mit zB X01 markiert, diese Felder werden dann in den blauen Feldern aufsummiert. Wenn der Nutzer das Aufsummieren eines Bereichs beenden möchte, dann wählt er XX nach der letzten X01 aus und es wird dann die Summe in der XX-Zeile ausgegeben. Mit der XX-Zeile wird dann woanders weiter gerechnet, daher muss es in einer eigenen Zeile stehen.

Ich habe mir nun im VBA etwas gebastelt, dass der Anwender in dem definierten Bereich eine Zelle einfügen kann. Bei Bedarf kann der User auch eine Zeile löschen. Das funktioniert einwandfrei, lediglich in der letzten Spalte hab ich ein Problem.
Das Problem ist, dass ich in der letzten Spalte auf einen Wert der Zeile DARÜBER zugreife und diesen dann je nach Auswahl anzeige. Sobald ich eine Zeile einfüge oder lösche, funktioniert die Formel nicht mehr, weil die Formeln dann nicht mehr verstehen, dass ich immer auf die Zeile darüber zugreifen möchte.

Gibt es da eine vernünftigere Lösung? Egal ob man das in VBA oder im Excel löst, ich wäre für jede Hilfe dankbar. Bitte wenn möglich eine Lösung, wo ich nicht all zu viel umbauen muss, da das echte Excel-File gigantisch groß ist und viele andere Sachen dran hängen.

Danke für Eure Zeit und ich freue mich auf die Rückmeldungen. Ihr würdet mir da wirklich aus der Patsche helfen.

--> Muster Datei anbei!


Angehängte Dateien
.xlsm   TEST_Zellen_einfügen_löschen_Rev02.xlsm (Größe: 28,1 KB / Downloads: 5)
Antworten Top
#2
Moin

Viel zu kompliziert,
Entweder mit Pivot oder mit EINDEUTIG() und SUMMEWENNS().
Arbeitsblatt mit dem Namen 'Tabelle3'
ABCDEF
3AuswahlSumme von F5
4X01645062X01645062
5X022588806X022588806

ZelleFormel
E4=EINDEUTIG(FILTER(Tabelle1[Auswahl];Tabelle1[Auswahl]<>""))
F4=SUMMEWENNS(Tabelle1[F5];Tabelle1[Auswahl];E4#)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


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