Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Reiter automatisch erstellen nach Auswahl

Forumthread: Reiter automatisch erstellen nach Auswahl

Reiter automatisch erstellen nach Auswahl
29.07.2024 08:34:20
Stefan
Guten Morgen zusammen,

ich brauche mal wieder Hilfe für ein für mich durchaus schwierig umzusetzendes Thema. Ich habe einen Tabellenblatt "Auswahl", in welchem ich eine Anzahl an Teilen eingeben kann und ein weiteres Tabellenblatt "Vorlage" welche später und ausgeblendet ist (die gesamte Arbeitsmappe soll zudem mit einem PW geschützt werden, dasss muss man vermutlich dann auch noch beachten). Wenn ich nun im Tabellenblatt "Auswahl" bei "Anzahl Teile" z.B. 5 eingebe, dann sollte der Reiter Vorlage kopiert werden und 5 x wieder erstellt werden. Diese fünf Tabellenblätter sollten dann mit "Teil 1", "Teil 2", "Teil 3" usw. beschriftet und sortiert werden. (Auch das Tabellenblatt Vorlage besitzt einen Blattschutz, dieser soll natürlich auch für alle erstellten Tabellenblätter übernommen werden)

Wichtig wäre, dass im Vorfeld immer geprüft wird, wie viele dieser angelegten Tabellenblätter schon vorhanden sind. Sagen wir ich habe bereits 5 Tabellenblätter (Teil 1, Teil 2 usw.) angelegt und ich gebe nun bei "Anzahl Teile" 6 ein, so soll nur noch ein weiteres Tabellenblatt "Teil 6" angefügt werden. Wenn 5 Tabellenblätter vorhanden (Teil 1, Teil 2 usw.) sind und ich 4 eingebe, dann sollte einfach nichts passieren. Es soll nichts gelöscht werden und auch nichts neu angelegt werden. Die Anzahl der Teile wird sich vermutlich nicht auf mehr als 100 bewegen.

Andere Reiter die sich in der Mappe befinden, ich hab Sie in der Beispieldatei einfach mal "historie 1" und "historie 2" genannt, sollen absolut unberührt bleiben, aber immer ans Ende der Tabellenblätter gestellt werden.

Wäre sowas möglich und umsetzbar und kann mir hier jemand helfen?

Eine einfache Beispieldatei habe ich angehängt.
https://www.herber.de/bbs/user/171313.xlsx

Viele Grüße
Stefan



Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Reiter automatisch erstellen nach Auswahl
29.07.2024 22:32:47
Stefan
Hallo Thorsten,

genau was ich wollte und funktioniert einwandfrei. Vielen lieben Dank!!!!!
Ich hab nur ein bisschen gebraucht das wieder in meiner Originaldatei zu verarbeiten aber ich habe es geschafft. Leider haben sich in der Zwischenzeit nochmals zwei Probleme ergeben - die nach einer Lösung suchen - die ich wieder nicht beheben kann... Ich kann mir zwar meterlange Formeln zusammenschustern aber wenn es um VBA geht dann bin ich einfach ein Erstklässler...

1. Problem: Auf dem Reiter Auswahl möchte ich eine Gesamtübersicht erzeugen, dort sollen z.B. alle Wert 1 aus allen erzeugten Tabellenblättern summiert werden
(Wert 1 kann auch öfter je Tabellenblatt vorkommen). Ich hab die Beispieldatei nochmals ein bisschen angepasst und auch um eine Formel ergäntz, die ich gerne verwenden würde-aber es funktioniert natürlich nicht, weil ich ja immer eine xbeliebige Anzahl an Tabellenblättern haben kann.
-> daher vermutlich wieder vba - wo ich wieder gar keine Vorstellung habe.

2. Problem was ich noch habe, in dem Tabellenblatt Vorlage habe ich in der Originaldatei eine Gruppierung, die ich über ein "Kontrollkästchen" aus und einblenden kann. Soweit so gut, also wenn ich das Kästchen anklicke - geht die Gruppierung zu und wenn nicht dann ist sie halt offen... Funktioniert auch - bis zu dem Zeitpunkt wo der Blattschutz dazu kommt. Wäre ja auch kein Problem in den Code dementsprechend: ActiveSheet.unprotect Password:"hihi" einzubauen aber es funktioniert nicht - ich habe jetzt auch ein bisschen was probiert aber ich weiß echt nicht wie ich das hinbekommen soll.

Vielleicht wärst du nochmal so nett - ich habe es in dem Thread gelassen, da ich glaube das es hier am besten noch dazu passt.

WIe gesagt, die eigentliche Aufgabe ist ja bereits gelöst - jetzt brauchst noch ein bisschen feintuning.

Eine angepasste Beispieldatei habe ich nochmals angehängt.

https://www.herber.de/bbs/user/171329.xlsm

VG
Stefan
Anzeige
AW: Reiter automatisch erstellen nach Auswahl
30.07.2024 06:44:31
Oberschlumpf
Moin Stefan,

"Wert 1 kann auch öfter je Tabellenblatt vorkommen" = versteh ich nicht

Du hast ein Blatt "Vorlage", in dem gibt es Wert1, Wert2 + Wert3
Und genau dafür trägst du in den "Teil x"-Blättern Zahlen ein.

Wo gibt es denn in einem der "Teil x"-Blätter noch mal Wert 1...oder noch mal Wert 2...oder....?

Oder kann es sein, dass die Vorlage wirklich nur ne Vorlage ist, in der Wert 1,2+3 auf jeden Fall EINMAL vorkommen muss (deshalb Kopie der Vorlage), du aber trotzdem in dem einen oder anderen "Teil x"-Blatt in Spalte A in einer weiteren Zeile zusätzlich Zahlen für Wert 1,2 oder 3 einträgst?

Aber DAS würd ich eigtl auch nich verstehen. Denn wenn es z Bsp für Wert 1 einen zusätzlichen Eintrag gibt, dann erhöh doch einfach den vorhandenen Wert 1 um den zusätzlichen Wert.

Bsp:
jetzt Wert 1 in Zelle B15 = 15
zusätzlicher Wert 1 = 20

dann änder doch einfach den alten Wert 1 in B15 um in 35...oder?!

Nun denn, wenn es tatsächlich so ist, dass du die Möglichkeit haben musst, in Blatt "Teil x" weitere Wert 1,2 oder 3 Zeilen hinzuzufügen, dann zeig bitte per Upload eine neue Bsp-Datei, in der das auch zu sehen ist.

Ciao erst mal
Thorsten

...ach ja...Problem 2 hab ich schon geändert in Lösung 2! :-)...
Anzeige
AW: Reiter automatisch erstellen nach Auswahl
30.07.2024 15:24:25
Stefan
Hallo Thorsten,

Problem zwei in Lösung zwei kommt dann vermutlich wenn wieder eine Datei kommt oder, weil gefunden habe ich jetzt nichts :-) Aber du weiß ja VBA ist jetzt nicht gerade meine Stärke...

Zu Problem 1:
Um es kurz zu machen ich habe nun, deine Gedankengänge zu Problem eins nicht richtig nachvollziehen können. Du vermutlich meine auch nicht, daher habe ich das Ganze jetzt nochmal ein kleines bisschen tiefer aufgebohrt vll. ist es dann etwas verständicher.

In der Vorlage gibt es nun drei Spalten: in der ersten Spalte steht nun eine Tätigkeit, in der zweiten Spalte steht nun ein Verantwortlicher, und in der dritten Spalte steht nun die Dauer der Tätigkeit.
Die Tätigkeiten sind für alle "Teile" gleich und immer identisch. So die Verantwortlichen und die dazugehörigen Zeiten können sich aber immer unterscheiden.
-> das heißt ich bestimme wie viele Teile erforderlich sind, lege die entsprechenden Reiter über die Eingabe in der Gesamtübersicht an und ändere im Bedarfsfall den Verantwortlichen bzw. die Zeit dann entsprechend auf den einzelnen Tabellenblättern, in meinem Bsp. Teil 1 - Teil 5....

Auf dem Tabellenblatt Auswahl möchte ich nun eine Gesamtübersicht haben, wie viel Zeit der jeweilige Verantwortliche investieren muss. Da es aber immer die gleichen Verantwortlichen sind, möchte ich natürlich wissen, welche Zeit derjenige für alle "Teile" insgesamt benötigt.
Wären alle Tabellenblätter schon da, würde ich quasi einfach SummeWenn machen, dann nach dem Verantwortlichen Suchen und die Zeiten entsprechend addieren. In dem angehängten Bsp. habe ich das mal mit Teil 1-5 gemacht.
https://www.herber.de/bbs/user/171349.xlsm

Da ich aber die Tabellenblätter erst anlege, kann ich dort nicht mit einer Formel arbeiten...

Ich hoffe es wird nun etwas verständlicher.... Meine Beispieldatei war vermutlich einfach zu abstrakt.

VG
Stefan





Anzeige
AW: Reiter automatisch erstellen nach Auswahl
01.08.2024 09:47:49
Oberschlumpf
Hi Stefan,

"Problem zwei geändert in Lösung zwei kommt dann vermutlich wenn wieder eine Datei kommt oder"
= richtig! Ich wollt dich nur schon darüber informieren, dass ich Problem 2 schon erledigt habe, obwohl ich Problem 1 noch nicht verstanden hatte.

Und nun erst mal zum "nicht-Verstehen" von Problem 1:

Sorry Stefan, aber wenn du mir zuerst...
Userbild
...das hier zeigst, du aber die ganze Zeit mit deinen Beschreibungen versuchst, mir...

Userbild
...das hier zu erklären...

...dann kann ich das Ganze wegen Problem 1 doch nicht verstehen, oder?

Die neue Datei von dir nutzt mehr Spalten, und somit passt auch mein Programmierversuch in deiner zuerst gezeigten Datei gar nicht mehr zur neuen Datei.
Ich musste alles, was die Berechnung der Teilsummen für die, jetzt nicht mehr "Werte", sondern einzelnen Verantwortlichen betrifft, komplett neu programmieren - wenn ich dich denn JETZT richtig verstanden habe...

So, bevor ich dir aber meinen neuen Versuch zeige, muss ich dir zu meiner neuen Datei noch so einiges erklären.

1) Wegen deines Problems 2 - "Kontrollkästchen" klicken geht nicht, wenn Blattschutz aktiv - habe ich...
- im Blatt "Vorlage" dein Formularsteuerelement "Kontrollkästchen" gelöscht, und eine ActiveX-CheckBox hinzugefügt

- weil ActiveX-Controls anders (besser, so finde ich) programmiert werden können als Formularsteuerelemente (deine "Kontrollkästchen"), kann nun auch problemlos bei Klick auf die neue ActiveX-CheckBox der Blattschutz aus- und wieder eingeschaltet werden

- zweiter Vorteil: die neue ActiveX-CheckBox benötigt auch keine Zellverknüpfung zu Zelle F2 (oder jede andere, beliebige Zelle), was aber für dein(e) "Kontrollkästchen" notwendig war

- so befindet sich nun also in jedem neu hinzugefügten Blatt mit Namen "Teil x" immer eine ActiveX-CheckBox

- ich habe im Blatt "Vorlage" die zwei weiteren Verantwortlichen "SIE" und "ES" hinzugefügt, weil mir das für's Programmieren hilfreich war....also bitte nicht wundern



2) Nun wieder zu Problem 1 mit, ich hoffe, meinem nun richtigen Verstehen deiner Beschreibung für deine neue Datei :-)
- wenn du gleich meine neue Datei geöffnet hast, dann gib zuerst mal bitte in Zelle B5 eine 1 ein
es wird ein neues Blatt mit Namen "Teil 1" erstellt

- klick im Blatt "Teil 1" auf die CheckBox (Haken entfernen), und alle gruppierten Zeilen werden eingeblendet...oder wieder ausgeblendet, wenn du die CheckBox erneut anklickst

- wenn du nun zum Blatt "Auswahl" wechselst, dann siehst du, dass...
a) ab Zeile 15, in Spalte A, jeder im Blatt "Teil 1" (mehrmals) eingetragene Verantwortliche genau nur 1x gelistet ist
b) und in Spalte B (Blatt "Auswahl") steht für jeden einzelnen Verantwortlichen die Summe, die er im Blatt "Teil 1" geleistet hat

- trag nun im Blatt "Auswahl", in Zelle B5, eine 2 ein
es wird ein weiteres Blatt mit Namen "Teil 2" erstellt

- wechsel wieder zurück zum Blatt "Auswahl"
a) in Spalte A stehen, weiterhin jeweils nur 1x, alle Verantwortlichen, die in den Blättern "Teil 1" und "Teil 2" eingetragen sind
b) aber in Spalte B haben sich die Einträge nun verdoppelt...weil ja in "Teil 1" und "Teil 2" jeweils die selben Werte stehen; und diese werden nun alle in "Auswahl" zusammengezählt

- nun änder mal in "Teil 1" und/oder in "Teil 2" einen Eintrag bei den Verantwortlichen und/oder einen der Werte für Dauer der Tätigkeit
schau dir jetzt die geänderten Einträge in "Auswahl" an

So...puhh...fertig!
Hier nun meine neue Datei:
https://www.herber.de/bbs/user/171386.xlsm

Ich hoffe, ich hab nix vergessen, aber noch mehr hoff ich, dass ich nun dich richtig verstanden habe :-)

Konnte ich denn helfen?

Ciao
Thorsten
Anzeige
AW: Reiter automatisch erstellen nach Auswahl
02.08.2024 01:14:40
Stefan
Hallo Thorsten,

vielen lieben Dank nochmals!!!! Ich weiß nicht, wie sehr ich dir hierfür bereits danken muss.
Vollkommen verständlich - dass du das mit meiner ersten Datei nicht nachvollziehen hast können. Vorab die Programmierung ist erste Sahne und es funktioniert so wie ich es generell brauche, zumindest ist mir bis dato noch nichts aufgefallen.

Ich hab jetzt die letzten Stunden damit verbracht den Code zu verstehen und das Ganze auch auf meine Originaldatei umzumodeln. Meine Datei ist natürlich deutlich größer, mit vielen Zeilen mehr und auch die ganzen "Startzeilen" sind irgendwo verstreut. Ich habs aber geschafft und bis auf die Checkboxen läuft alles erste Sahne. Die Checkbox läuft, so wie du sie eingestellt hast, aber meine Anwendung im Hintergrund ist anders. Hab ich dir natürlich wieder nicht mitgeteilt, weil ich nicht wusste dass sich das mit den "Kontrollkästchen" dann komplett ändert. (Ich dachte eine einfache Codezeile und dann ist alles gut - und ich kann das dann in meiner Original Datei wieder verarbeiteten..)
Bei der Checkbox hab ich nämlich ein Problem.

Ich hab da nämlich auf dem Vorlage-Reiter insgesamt 3 Phasen (jede Phase einzeln gruppiert), die ich unabhängig voneinander durch anklicken und öffnen möchte.
-> Zeile 5 - 17 Gruppiert Phase 1
-> Zeile 27 - 39 Gruppiert Phase 2
-> Zeile 48 - 60 Gruppiert in Phase 3

Wie würde ich das mit der Checkbox umsetzen können? (Mit meinen Kontrollkästchen hatte ich das noch selbst hinbekommen :-( )
Tatsächlich würde ich dann noch irgendeinen Trigger brauchen - Wenn z.B. Checkbox für Phase 1 angewählt ist, sollte z.B. in Zelle A1 z.B. "Ja" geschrieben werden, wenn nicht angewählt, dann in Zelle A1 "Nein" (Checkbox 2 auf B1, Checkbox 3 auf C1)
Ich brauche das einfach um diversen Formeln auf dem Tabellenblatt mitzuteilen, dass es los geht :)

Ich habs in der Beispieldatei nochmals versucht darzustellen. https://www.herber.de/bbs/user/171402.xlsm

Es tut mir echt leid, dass ich da jetzt auch so stückchenweise daher komme, ich fall aber leider auch gerade selbst über die ganzen Eigenheiten...

Ich hoffe ich kann das irgendwie wieder gut machen!

Viele Grüße
Stefan

Anzeige
AW: Reiter automatisch erstellen nach Auswahl
04.08.2024 22:42:19
Stefan
Hallo Thorsten,

ja in der Bsp. Datei funktioniert alles. Vielen lieben Dank! Ich versuche es gerade in meine Originaldatei zu übertragen.

Und nachdem ich z.B. auf die Checkbox "Phase 1" klicke, bleibt er der Code immer in "sbPhase123" in dieser Zeile stehen.

.Rows(.Range("Phase" & nummer).Row).ShowDetail = IIf(.OLEObjects(boxname).Object.Value = False, False, True)

Ich hab den Namen der Checkbox "chkGrp1" und Caption "Phase 1" über die Eigenschaften zugewiesen, muss ich der Box noch irgendwie einen festen Namen zuweisen? Und falls ja, wie mache ich das?

Gruß
Stefan
Anzeige
AW: Reiter automatisch erstellen nach Auswahl
04.08.2024 23:09:13
Stefan
Hi Thorsten,

ich bin doch noch drauf gekommen, ich muss ja die Bereiche auch noch benennen...

Gruß
Stefan
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige