Excel 2016 Makros: Button zum Löschen bestimmter Zeilen?

Hey Leute,

ich arbeite derzeit intensiver an einer Excel-Tabelle, wodurch ich mich wahrscheinlich noch öfter mit Fragen rund um diese Tabelle melden werde, wenn ich mal nicht weiter weiß :D. Nun möchte ich diese Tabelle im nächsten Schritt mit Makros bereichern. Leider hatte ich bislang nahezu nichts mit Makros am Hut und benötige aus diesem Grund Hilfe.

Die dargestellte Tabelle bzw. der Ausschnitt soll zukünftig projektbezogen verwendet werden. Es handelt sich dabei um eine Funktionsliste, in der ich in Spalte B Bauteile auswähle, die ich in dem jeweiligen Projekt benötige. Da jedes Projekt individuell ist, habe ich in einigen Projekten mal 20 Bauteile, mal 50. Also nie ein im Voraus festgelegter Wert. Da in einem Projekt mehrere Anlagen vorhanden sein können, die jeweils so eine eigene Funktionsliste benötigen, möchte ich eine Schaltfläche implementieren, die mit einem Makro versehen ist. Durch Anklicken dieser Schaltfläche sollen Zeilen (nicht nur die Inhalte, sondern die gesamte Zeile) in einem bestimmten Bereich (vom dritten Bauteil bis zum letzten Bauteil) gelöscht werden. In dem Bildbeispiel z.B. würde ich wollen, dass die Zeilen 11 bis 17 gelöscht werden. Da es in einem anderen Projekt aber z.B. 20 Bauteile geben kann, müsste ich Zeile 11 bis 30 löschen. Die Ergebniszeile ganz am Ende ist unabhängig von der Tabelle und soll immer bestehen bleiben. Kann mir jemand bei dem Code helfen, um so ein "dynamisches Löschen" durch eine Schaltfläche zu ermöglichen? Unabhängig davon, wie viele Bauteile ich auswähle, soll immer nur bis zum letzten Bauteil gelöscht werden. :)

Bild zum Beitrag
Microsoft, Microsoft Excel, Microsoft Office, programmieren, Makro, VBA, Formel, Tabellenkalkulation, Excel-Formel, Office 365, Excel 2016
Excel-Tabelle trotz Formeln richtig sortieren?

Hey Leute, ich stehe gerade bei meiner Excel-Tabelle etwas auf dem Schlauch…

Ich habe eine Arbeitsmappe „Funktionsliste“, in der ich arbeite, und eine Arbeitsmappe „Datenbank“, in der alle Bauteile mit entsprechenden Datenpunkten aufgelistet sind.

Nun ist die Mappe „Funktionsliste“ dafür da, dass ich in Spalte B mithilfe einer Dropdown-Liste alle Bauteile auswähle, die ich benötige und die in der Mappe „Datenbank“ eingepflegt sind. Mithilfe der SVERWEIS-Funktion übernehme ich die zum Bauteil dazugehörigen Datenpunkte, die ebenfalls in der „Datenbank“ von Spalte F bis Z eingepflegt sind.

Wenn ich nun in der „Funktionsliste“ in Zelle B9 das Bauteil Reparaturschalter auswähle, werden mir durch die SVERWEISE in den Spalten F bis Z alle Datenpunkte aus der „Datenbank“ übernommen. Mein SVERWEIS sieht dann in Spalte F z.B. folgendermaßen aus: =SVERWEIS(Funktionsliste!$B9;Datenbank!$B$9:G$33;6;FALSCH)

Auf die Weise übernimmt mir die Funktionsliste in Spalte F den Wert aus Spalte G aus der Datenbank, wenn das ausgewählte Bauteil in der Funktionsliste in der angegebenen Matrix in der Datenbank findet.

Wenn ich nun in Zelle B10 beispielsweise einen Drucksensor auswähle und das gleiche nun mit =SVERWEIS(Funktionsliste!$B10;Datenbank!$B$9:G$33;6;FALSCH) in Spalte F angebe, werden mir die Datenpunkte für den Drucksensor übernommen.

Jetzt kommt das Hauptproblem: Wenn ich Spalte B alphabetisch sortieren will, werden die Spalten mit den Datenpunkten nicht automatisch mit sortiert. Stattdessen würde durch die alphabetische Sortierung jetzt der Drucksensor in der B9 stehen und der Reparaturschalter in der B10. In der F9 würde dann aber der SVERWEIS nun den Wert aus der B10 suchen und nicht mehr aus der B9, weil die Formel nicht dynamisch mitgenommen wurde beim Sortieren…

Wie kann ich das Problem lösen? :)

Microsoft, Microsoft Excel, Microsoft Office, VBA, Formel, Tabellenkalkulation, Excel-Formel, Office 365