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 Kreuztabelle Turnier automatisch befüllen - kleiner Fehler?

Hallo zusammen,

ich habe eine kleine Turniertabelle, die ich automatisch befüllen lassen möchte, dies funktioniert auch ganz brauchbar, lediglich eine Zelle (F6) sträubt sich dagegen.

Formel in D4
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(C5:C7;0;0;3-(ZEILE(D3)-ZEILE(D$3));));
WENN(Matrix="";"";$C$2-Matrix) )
Formel in E5
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(D6:D8;0;0;3-(ZEILE(E4)-ZEILE(E$3));));
WENN(Matrix="";"";$C$2-Matrix) )
Formel in F6
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(E7:E9;0;0;3-(ZEILE(F5)-ZEILE(F$3));));
WENN(Matrix="";"";$C$2-Matrix) )

Wie man dem Formeln entnehmen kann, soll geprüft werden ob die betreffenden Zellen auf der anderen Seite des X leer ist, wenn dies der Fall ist soll der entsprechende Gegenpart dieser Matrix hier auch leer bleiben.

Ist sie hingegen befüllt, soll der Wert aus Zelle C2 (hier steht entweder eine 1 oder eine 2 drin (weiße Schrift), je nach dem ob es nur eine Runde oder eine eine Hin- und Rückrunde gibt). um den Wert auf der anderen Seite des X subtrahiert werden.

Wie gesagt funktioniert auch alles prima lediglich in Zelle F6 bleibt auch bei leerer Zelle immer die 1 stehen, ich hab keine Ahnung wo ich noch gucken kann Formatierung steht in allen betreffenden Zellen auf Standard, hab ich vielleicht irgendwas übersehen, findet einer ggf. einen Fehler?

Bild zum Beitrag
Microsoft Excel, Tabellenkalkulation, Excel-Formel, Office 365

Meistgelesene Beiträge zum Thema Excel-Formel