18.08.2017, 14:13 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2017, 14:32 von Mounzer.)
Liebe Community ich bin am durchdrehen, ich beschäftige mich schon seit 4 Wochen mit einer Thematik, die sich teilweise umsetzten lässt aber auch teilweise nicht. Am besten ich fange damit mal an.
Ich habe verschiedene Klasse 1A 1B 2A 2B 2C 3A 3B 4A
Ich habe verschiedene Wochentage Montag Dienstag Mittwoch Donnerstag
soweit so gut.
Jetzt habe ich das Problem, dass für die Klasse 1 und 2 (unabhängig vom Buchstabe) eine bestimmte Anzahl von Fördergruppen nur Montag angeboten werden, Dienstag wieder andere usw. Das gleiche gilt für die Klasse 3 und 4, die wieder andere Fördergruppen haben wie die Klasse 1 und 2.
Kleine Darstellung Klasse 1 oder 2 Klasse 1 oder 2 usw. Montag Dienstag Sportspiele Kunst W Bücherkiste Kindertanzen Bastelkiste
Klasse 3 oder 4 Klasse 3 oder 4 usw. MontagDienstag Trommelkiste Kindertanzen Zauber Chor
Der Listeaufbau habe ich als Anlage beigelegt. Es geht in diesem Fall um die Werkstätten, Mo-Do ist fix, darunter soll ein Listenfeld sein, welches an die Klasse angepasst wird, also Klasse 1 oder 2 + Montag, dann die Liste für Klasse 1u.2 Montag usw.
Ich weiß, es ist kompliziert, aber eine Lösung würde mich vor dem Wahnsinn retten, ansonsten bin ich verloren. :P
das Bild kann mein PC nicht öffnen. Mein Vorschlag: besser eine anonyme Beispieldatei hochladen und per Hand eintragen und erklaeren wie die Lösung aussehen soll. Dann können wir die Aufgabe besser verstehen.
Zur Vba Programmierung: Manchmal lohnt es sich per Vba aus einem Text vier Buchstaben mit Cut auszuschneiden! Der neue Text klingt ganz anders: Der Sinn liegt mir nahe (altes Sprichwort: Die Lösung liegt bereits in der Aufgabenstellung)
Schon erstaunlich was heute alles Bio ist. Hier hat es den Vorteil, dass es nichts kostet. Mounzer: die anspruchsvolle Aufgabe ist doch zu formulieren, nach was eigentlich gesucht wird. Häufig ergibt sich dann die Lösung fast von selbst. Bei Deinem Problem habe ich keinen Dunst einer Ahnung was Du haben willst. Andere wohl auch nicht: zu schliessen aus den Antworten. Also: versuch es noch einmal. Gruss
18.08.2017, 15:24 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2017, 15:24 von Mounzer.)
Ok ich versuche es auf die einfache Art.
Ich habe eine Familie mit Erwachsenen und Kindern.
Beide Personengruppen wollen von Montags bis Donnerstags ins Kino.
An jedem Tag läuft ein anderer Film, nehmen wir an, Erwachsene dürfen in keine Kindervorstellung und Kinder dürfen in keine Erwachsenenvorstellung.
Jetzt soll jeder der Personengruppen eine Liste anlegen, welche Optionen überhaupt möglich sind.
Peter sagt zu seinen Erwachsenen Eltern: "Ich will als Kind ins Kino" Die Mutter sagt, montags gibt es nur die und die Filme für dich. Die Mutter sagt weiter, dienstags gibt es nur die Filme für dich. Papa hat Montags und die restlichen Tage andere Filme die er besuchen darf bzw. kann.
Mama sagt zu den beiden: "Als erstes müssen wir festhalten wer ins Kino geht, danach wählen wir den Tag aus und dann wählen wir den Film aus".
Ich hoffe die Geschichte erklärt es etwas. :)
Kurz gesagt eine Beziehung zwischen
Personengruppe ->>>>>>>>>>>>> Tag ->>>>>>>>>>>>>>> Förderkurs (Schulklasse) (abhängig von der Personengruppe) (auch abhängig von der Personengruppe u. Tag)
Moin! Also ich vermute mal, du willst in der Spalte mit deinen Werkstätten eine Gültigkeitsliste in Abhängigkeit der vorne eingetragenen Klasse!? Falls das dein Ziel ist, gibt es 2 Möglichkeiten. Einmal in einem Blatt die Listen je nach Klasse anlegen und hard verlinken oder das Ganze mit VBA machen. Hier mal eine Variante mit VBA. Habe dabei deine Werte in Array aufgelistet. Ist jetzt nur auf die schnelle programmiert - muss gleich los. Es fehlen deshalb u.a. die Deklarationen am Anfang. Den Code in das Codefenster des Blattes eintragen. Ich gehe dabei aus, dass deine Klasse in Spalte A steht. Ansosnten im Code ändern. Der Eintrag wird derzeit in Spalte 2 bis 5 eingefügt. Da auch noch die richtige Spaltennummer eintragen. Einfach mal probieren. VG
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'wenn klasse in anderer Spalte dann auch anpassen '12 ist die Klasse 2und 2 ar12mo = Array("SportSpiel", "Kunst", "Tanzen") ar12di = Array("Bücherksite", "Bastelkiste") ar12mi = Array("Value1", "Value2", "Value3") ar12do = Array("Value1", "Value2", "Value3")