Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formen Gruppieren mit Schleifen. Sehr schwer!

Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 18:03:13
Leon.DerProf
Liebe Community,
dies wird wahrscheinlich meine letzte große Frage an euch sein.
Ich habe es wirklich versucht, aber die Lösung für das Problem ist einfach NextLevel und ich kriege es mit meiner Internet-Recherché alleine nicht hin.. auf keinen Fall.
Es ist ein hartes Stück und ich ware zutiefst dankbar und beeindruckt, wenn jemand tatsächlich das hinkriegen kann.
Ich versuche es nebenbei weiterhin. Niemals aufgeben :)
Hier die Excel-Datei mit der kompletten Frage drin. Ich habe die Frage in die Excel-Datei geschrieben, weil es dadurch einfacher wird, den Sachverhalt zu verstehen.
Beste Grüße
Leon
https://www.herber.de/bbs/user/130700.xlsx

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 18:11:36
Matthias
Nun, da Du nicht gleich schreibst was Du brauchst steig ich gar nicht erst in den Beitrag ein.
Die Datei werde ich nicht Öffnen.
Ich schreibe für Dich nur 1x mal für den Papierkorb.
Das reicht dann aber auch.
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 18:12:10
onur
Das heisst, jeder, der evtl. bereit wäre, dir zu helfen, muss zuerst die Datei herunterladen, nur um zu erfahren, was du überhaupt willst ?
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 19:50:05
Leon.DerProf
Lieber Onur
Ich verstehe. Okay. Natürlich möchte ich euch nicht das Leben schwerer machen, wenn ihr schon helfen wollt. War natürlich nicht schlecht gemeint, dachte so wäre es einfacher.
Folgendes Problem:
Es gibt zwei Tabellen auf Tabellenblatt 1: Tabelle1 und Tabelle2.
Beide Tabellen sind nummeriert.
Bei der ersten (Haupt-)Tabelle gibt es Namen: Peter, Paul etc.
Via Inputbox kann bspw. Peter eingegeben werden, dann wird in der ersten Tabelle nach dem Namen gesucht und die korrespondierende Nummer gespeichert.
Diese Nummer ist wichtig, um eine Form und ihren Namen auf Tabellenblatt2 zu speichern. Mal angenommen ich habe ein Makro geschrieben, dass der Peter als Form auf Tabellenblatt2 auftaucht und dort den Namen: "Form " & PetersNummer trägt. Petersnummer sieht man halt seitlich in der Nummernspalte.
Soweit zur ersten Tabelle.
Bei Tabelle2 gibt es Funktionen: Helfer, Springer, Sucher etc.
Man schreibt bspw. drei Funktionen untereinander und dazu ordnet man eine Nummer in der nächsten Spalte zu, damit man weiß, wer diese Funktion ausübt. In unserem Fall tragen wir immer 1 für Peter ein, somit neben der Funktion Helfer, Springer, Sucher in Tabelle2 immer eine 1 steht, wenn sie zu Peter gehört. Tragen wir bspw. eine 2 ein, dann soll bspw. Paul angesprochen werden.
Der Sinn darin liegt. Dass Die Form mit dem Namen "Form " & PetersNummer auf Tabellenblatt2 erstellt wird und durch die Tabelle2 mit ihren Funktionen quasi "Unterformen" direkt auf der großen Form von Peter gepackt werden.
In Tabelle2 werden des Weiteren alle Zeilen durchnummeriert, damit für jede einzelne Funktion (egal wem sie zugeordnet wird) ein eigenständiger Name steht. So z.B. bei der Funktion Helfer steht in einer weiteren Spalte die 1 und darunter bei der Funktion Springer steht natürlich die 2 und dadurch kann dann ein Name erstellt werden für jede Funktion: "UnterForm " & Nr.
Nun haben wir für Peter die Form 1 und für seine drei Funktionen die UnterForm 1, UnterForm 2 und UnterForm 3.
Diese Unterformen werden auf die große Form 1 gepackt.
Als nächstes sollen sie gruppiert und in Tabellenblatt3 kopiert werden.
Das schwierige daran ist, dass wir mehrere Leute haben (nicht nur Peter) und dass diesen Leuten mehrere verschiedene Funktionen zugeordnet werden können.
Liebe Grüße
Leon
Anzeige
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 19:30:56
Piet
Hallo Leon,
die Datei als xlsx runterladen ist nicht das Thema, weiter gebracht hat es mich überhaupt nicht. Ich sehe zwei getrennte Tabellen, mit Nr., aber erkenne keine gewünschte Lösung! Auch der Bezug von 1-5 sagt mir nicht was du wirklich willst?
Ganz oben steht: - Rudolf ist Helfer und Wache. - aber in Zeile 11 waere er auch noch Pfleger! Alles nur sehr verwirrend ...
mfg Piet
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 20:14:07
Leon.DerProf
Lieber Piet,
danke für deine Antwort. Du scheinst zu den Nicht-Diven hier zu gehören und bist praktisch veranlagt. Sehr erfrischend.
Es ist verwirrend, weil ich wahrscheinlich zu lange daran hänge und Uninvolvierten das ganze zu chaotisch rüber gebracht wird.
Ich versuche es nochmal. Vielleicht wird es dadurch klarer.
Ich halte es so knapp es geht.
Ich habe anfangs mit Tabelle1 auf Tabellenblatt1 gearbeitet.
Dort habe ich Mitarbeiter eingetragen und einige weitere für uns unwichtige Daten.
Dann wird der Mitarbeiter als Form (Viereck) in Tabellenblatt2 an einer ganz bestimmten Position eingefügt. Nebeninfo: In Tabellenblatt2 sind lauter Bereiche mit Organisationseinheiten und das Ganze sieht wie ein Organigramm aus.
Dann habe ich ein Button eingefügt, der neben dem Namen des Mitarbeiters steht. Wenn man auf diesen Button klickt, erscheint automatisch dann halt die besagte Form auf Tabellenblatt2.
Ganz praktisch dachte ich mir.
Nun kam die Frage auf. Wie kann man diese Form wieder löschen, d.h. eine ganz bestimmte Form muss gefunden und gelöscht werden.
Ich dachte mir: Nummeriere ich die Tabelle1 einmal durch und wenn neben Mitarbeiter Peter eine 1 steht, dann kriegt die Form den Namen "Form 1". Wäre Mitarbeiter Peter in der vierten Zeile eingetragen gewesen, dann wäre seine Form dank der Durchnummerierung mit dem Namen "Form 4" beschrieben worden.
Dann habe ich einen Makro programmiert, der einem Button zugewiesen wird. Dieser Button ist auch neben dem Namen vom Mitarbeit und wenn man ihn klickt, dann geht das Makro los, indem es die Nummer ausliest und dadurch genau weiß, ob Form 1 oder Form 2 oder Form 200 gelöscht werden muss.
In Jeder Zeile war also neben dem Mitarbeiternamen immer ein Hinzufügen- und ein Lösch-Button.
Nun kam noch eine Nebenbedingung hinzu, die mich grübeln lies.
Jeder Mitarbeiter, soll in Tabellenblatt2 verschiedene Funktionen visualisieren. D.h. in Tabellenblatt2 haben wir einmal ein großes Viereck mit Peter drauf und x kleine Vierecke mit seinen Funktionen innerhalb des großen Vierecks.
Also dachte ich mir, ich erstelle eine Tabelle2 und dort gibt man die Funktionen ein und diesen Funktionen weist man eine Nummer zu, die dann der von Peter oder sonst wem entspricht.
Sprich wenn ich eine Funktion hinzufüge (Helfen), dann muss ich noch eine Nummer damit setzen, damit man weiß, wer die Funktion ausübt. Wir nehmen hier im Beispiel die Nummer 1 für Peter und setzen also eine 1 in die Spalte neben Helfen ein. Nun wird ein kleines Viereck erstellt mit der Aufschrift "Helfen" und wird durch die 1 direkt dem Viereck von Peter zugeordnet auf Tabellenblatt2.
Nun sollen x verschiedene Funktionen auf diese Weise dem Peter oder sonst wem zugeordnet werden.
ABER: Sie müssen auch wieder gelöscht werden.
Also wie auch beim Prinzip von Tabelle1 habe ich eine weitere Spalte hinzugefügt und diese mit 1 bis 300 durchnummeriert, so dass man bei Helfen zufälligerweise wieder eine 1 hat, die Funktion unter Helfen hat dann die 2, die Funktion darunter die 3 usw.
Bleiben wir aber bei Helfen. Da ich hier die 1 habe, kann direkt wieder der entsprechenden Form einen Namen zuordnen: Hier also "FormTeil 2", so dass dann genau diese Form gelöscht werden kann.
Das Makro für das Löschen funktioniert so: Es wird gesagt, dass eine Form mit dem Namen: "FormTeil " & DerEntsprechendenNummerAusTabelle2 (die rausgelesen werden kann) gelöscht wird.
Das funktioniert soweit super.
Das Ziel ist folgendes.
Ich möchte diesmal Peter anklicken oder in eine InputBox eingeben. Dann weiß das Programm, dass die Form von Peter gesucht wird. Diese Form soll in Tabellenblatt3 kopiert werden, weil der Sinn das Ausdrucken ist. Ich möchte also ohne SchnickSchnack die Form von Peter (ein Viereck mit entsprechender Aufschrift und Farbe usw.) in Tabellenblatt3 packen, damit ich es sauber ausdrucken kann, ohne dass da andere Zellinhalte versehentlich mitgedruckt werden.
Das schwierige ist. Ich möchte nicht nur die Form von Peter suchen, finden und in Tabellenblatt3 kopieren, sondern auch alle seine Funktionen, die als kleine Vierecke auf Peters Form liegen mit rüber kopieren.
Dazu muss man in Tabelle2 alle Funktionen suchen, die dem Peter mit der Nummer1 zugeordnet werden.
Es kann sein, dass die ersten beiden Funktionen dem Peter zugeordnet werden und eine Woche später wird in Zeile 15 oder so wieder eine neue Funktion dem Peter mit einer 1 zugeordnet. Und diese Funktionen sollen in Tabellenblatt2 als Form rauskopiert in Tabellenblatt3 werden.
Am Ende haben wir das große Viereck von Peter und kleine Funktions-Vierecke in diesem großen Viereck auf Tabellenblatt3 abgebildet und ich kann das gesamte Abbild drucken.
Ich dachte mir es wäre einfacher, wenn erstmal die große Form und dann die kleinen Formen gesucht und gefunden und dann gruppiert werden, bevor sie in Tabellenblatt3 kopiert werden, da dadurch die Anordnung erhalten bleibt.
Im Anschluss kann ich Tabellenblatt3 löschen und einen anderen Mitarbeiter samt seiner Funktionen in Tabelle1 anklicken oder per InputBox auswählen und seine Vierecke ausdrucken.
Anzeige
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 20:26:44
Daniel
Hi
da würde ich so vorgehen:
1. wenn du eine Form erstellst, dann gib ihr einen Namen, der alle Notwendigen Informationen enthält:
...Name = "Peter|Grundform"
...Name = "Peter|Helfer"
2. wenn du dann mit allen Formen, die zu der Person, die du in die Inputbox eingegeben hast lö _ schen willst (bspw), dann geht das recht einfach so:

x = Inputbox("Name")
for each shpe in activesheet.Shapes
if shpe.Name like x & "|*" then shpe.delete
Next
dann musst du nicht über irgendwelche Nummern gehen.
Gruß Daniel
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 21:02:49
Leon.DerProf
Hallo Daniel,
vielen Dank für deinen Vorschlag.
Leider kann ich auf die Nummern nicht verzichten, da sie noch allerlei andere Funktionen in der Datei übernehmen.
Die Datei ist viel zu umfangreich, als dass ich alles beschreiben sollte, daher bitte nicht wundern, dass ich dieses Detail nicht vorher erwähnt habe.
Beste Grüße
Leon
Anzeige
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 21:16:42
Daniel
Hi
naja was spricht denn dagegen, eine Form nicht nur "Peter|Helfer", sondern "Form 01|Peter|Helfer" zu nennen? Das kann auch noch erweitert werden.
Dann hast du alle notwendigen Informationen im Formnamen gesammelt.
mit einem Trennzeichen wie "|" kannst du mit der SPLIT-Funktion den Namen in seine Teile zerlegen und diese dann bei Bedarf auch einzeln auswerten.
du solltest dir halt vorher Gedanken darüber machen, welche Informationen du benötigst und in welcher Reihenfolge du die anordnen willst und das solltest du dann durchziehen.
und naja, das Spiel "sorry deine Idee ist gut, funktioniert aber nicht, wegen der Gründe, die ich dir bisher verschwiegen habe" mach ich auch nicht lange mit.
Gruß Daniel
Anzeige
AW: Formen Gruppieren mit Schleifen. Sehr schwer!
02.07.2019 21:29:24
Leon.DerProf
Hallo Daniel,
okay du hast ja Recht.
Ich versuche jetzt einfach mal deine Lösung. Es wird ein bisschen dauern alles umzuändern und aufeinander abzustimmen, daher nicht wundern wenn ich ein bisschen Zeit brauche bis ich mich zurückmelde.
Aber wenn es damit klappt, bin ich mehr als glücklich.
Danke und ich melde mich nochmal.
Beste Grüße
Leon
Diven-Götter-was noch? verarsch die Helfer nicht
02.07.2019 20:28:32
robert
AW: Diven-Götter-was noch? verarsch die Helfer nicht
02.07.2019 20:57:31
Leon.DerProf
Robert,
schon das zweite mal, dass du schreibst und das zweite mal inhaltslos. Das nervt tierisch.
Hier sind echt geniale Helfer, die machen das Forum so sehr positiv.
Dann gibt es Leute, die auf persönlicher Ebene schreiben und zwar nur auf persönlicher.
Du gehörst bisher zur letzteren sehr kleinen, aber dennoch presenten Gruppe und ich bitte dich dieses Forum nicht mit einer Trash Talk Plauderecke zu verwechseln.
Irgendwann, wenn im Laufe der Zeit meine Skills immer besser werden, werde ich helfen und niemals einfach nur leere Kommentare ablassen.
Das war mein letztes Statement zu solchen Kommentaren. Ab sofort, wenn jemand glaubt ich meine es böse und mich direkt in irgendeiner Weise herablassend behandelt, reagiere ich nicht und schlimmstenfalls werde ich von diesem Forum vergrault. Aber langsam macht es echt keinen Spaß mehr sowas zu lesen!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige