Clever-Excel-Forum

Normale Version: VBA: Zeilen einfügen + Formeln & Format übertragen, Zellen löschen (knifflig!)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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!
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