Makro für Excel / Spielfeld wie bei "Noch mal"
#11
Hallo T... ,

Vorab
Ich weis noch nicht wie aufwendig es ist ein neues Muster zu erstellen oder wann Michael Zeit hat.
Daher  in der Anlage vorab eine Hilfe zum Variieren vorhandener Originale.

Die Idee
ist, dass du vorhandene Muster (von alten Karten) abschreibst und die Datei erzeugt daraus über Zufallszahlen eine Variante.

Blatt Originale
Hier kannst du (bei Einhaltung des vorgegebenen Abstandes) beliebig viele (>100.000) bekannte Muster (zB. aus alten Karten) eingeben.
Die Farben werden über die Eingabe einer Zahl zwischen 1 und 5 vorgegeben.

Blatt Variation
a) Hier wird über die benannte Zelle "Zufall2" (zur Zeit B3) ein Original ausgewählt.
b) Über die benannte Zelle "Zufall" (zur Zeit B33) wird entschieden ob die Originaldaten gespiegelt werden (wenn nicht durch 4 teilbar) und ob und wie Farben vertauscht werden (wenn>4).
c) Über den Button "Zufall" werden für diese benannten Zellen zufällige Zahlen erzeugt. (in den Grenzen von 0 bis "MaxZufall2" bzw 1 bis 480)
Es können aus einem Original 480 unterschiedliche Farbkombinatienen erstellt werden.
d) Über den Button "übernehmen" wird die aktuelle Variation in den benannten Bereich "Auswahl" (zur Zeit im Blatt Karte) übernommen.
Heirbei werden
1. die Farben, die bisher nur über die bedingte Formatierung der Zahlen 1-5 angezeigt werden, in echte Hintergrundfarben umgewandelt und
(Gelb und Orange sind ein wenig dunkler als in der bedingten Formatierung damit die weissen Sterne sichtbarere sind.)
2. die weissen Sterne gesetzt.
(in jeder Spalte ein Stern, in allen Farben drei Sterne und in benachbarten Spalten Sterne nicht in der gleichen Zeile)

Blatt Karte
Hier wird zur Zeit die letzte übernommene Variation im Bereich "Ausgabe" angezeigt. Der Rest des Blattes ist frei gestaltbar.
 
Blatt Erstellung
Hier sollen in Zukunft neue Muster erstellt werden.


Angehängte Dateien
.xlsm   NochMal01.xlsm (Größe: 50,58 KB / Downloads: 1)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#12
Hallo T...,

bitte sehr.

Im Blatt "Erstellung" kannst du mit dem Butto "tuwat" ein neues Muster erzeugen und mit dem Button "übernehmen" ins Blatt "Karte" übertragen.
Wenn du feststellst, das dir aus irgendeinem Grund einige neue Muster nicht passen, kannst du passende Muster als Werte ins Blatt "Originale" kopieren und über das Blatt "Variation" nur passende Muster in die Karte übernehmen.
Zur Zeit sind längere Ketten eher waagerecht ausgedehnt, da ich beim Bau der Ketten dieser Richtung den Vorzug gegeben habe.


Angehängte Dateien
.xlsm   NochMal03.xlsm (Größe: 71,62 KB / Downloads: 2)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#13
Hallo T...,

jetzt mit der Möglichkeit eine vorrangige Orientierung vorzugeben (waagerecht, senkrecht oder zufällig).


Angehängte Dateien
.xlsm   NochMal03.xlsm (Größe: 71,59 KB / Downloads: 15)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • schauan
Antworten Top
#14
gelöscht
Gruß
Michael
Antworten Top
#15
Komme leider nicht wirklich dazu ... aber Ego hat ja schon eine super Lösung präsentiert, wie ich sehe ... Hut ab!
Gruß
Michael
Antworten Top
#16
Hi.

Auch wenn man davon ausgehen kann, dass es den TE nicht mehr in interessiert. (Warum auch immer die Anfrage dann???)
Evtl. mal ein anderer.

Bei weitem keine so schnell rechnende Lösung wie @Ego seine, aber mal noch die Bedingung (In allen Spalten jeweils alle Farben) eingearbeitet.

Kann auch mal sein dass es bis zu 4min rechnet und es ohne Ergebnis bleibt. ;-)
Wenn man das Prinzip aber etwas umarbeitet und von den vielen Zellzugriffen auf Array umbaut, sollte das auch schneller werden.
Aber so sieht man etwas von der Idee dahinter besser.

.xlsm   Spielfeld 15x7.xlsm (Größe: 48,17 KB / Downloads: 3)

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • schauan
Antworten Top
#17
Hallo Elex

das Makro laeuft bei mir nicht, zeigt mir nichts an. Ich musste das Beispiel aber in Excel 2003 konvertieren, weil ich auf einem alten XP Laptop arbeite.

mfg Gast 123
Antworten Top
#18
Hi

Ja das wird nicht klappen. Im Code wird die Funktion Zufallsbereich benutzt. Die Tests haben ergeben das VBA(Rnd) da viel schneller arbeitet. Ich Versuche es aber eh mal umzubauen auf Array. Weis aber noch nicht wann es fertig sein wird.

Gruß Elex
Antworten Top
#19
Ich danke euch allen für eure Ideen und Vorschläge bis hierher. Da ich leider gesundheitlich sehr angeschlagen bin, komme ich zur Zeit nicht dazu eure Vorschläge zu testen oder umzusetzen. Ich danke euch aber für euer Feedback und gerne kann noch weiter getüftelt werden.

Bitte habt Nachsicht, wenn ich mich aktuell nicht so aktiv an meinem erstellten Thema beteiligen kann.

Die Sterne auf dem Spielfeld sollten nach dem Regelwerk des Spiels möglichst alle im Laufe des Spiels angekreuzt worden sein da sie sonst am Ende, die die nicht angekreuzt worden sind, -2 Punkte beim zusammenzählen bedeuten. Aber für für den Anfang geht es ja mehr um das farbliche Spielfeld, die passende Anordnung und das Vorhandensein von 1er, 2er, 3er, 4er, 5er und 6er Zellen pro Farbe, aufgeteilt auf das 7x15 Zellen Spielfeld. Das stellt die größte Herausforderung dar, die Sterne eher weniger.
Antworten Top
#20
Hallo T...,

ich hab noch ein wenig mit der Datei gespielt:

A) Blatt: "Erstellung"

1. Orientierung
Die Vorgabe der Orientierung ist ein wenig flexibler. Mann kann (nur über die Drehfelder) für jede Orientierung einen Prozentsatz vorgeben.

2. Maximale Kettenglieder einer Kette in einer Spalte (2-6)
Mit diese Auswahl kann man die Ketten senkrecht ein wenig begrenzen.

3. Minimale Anzahl der Farben in einer Spalte (2-4)
In allen Spalten 5 Farben zu erzeugen ist mit meinem Ansatz nicht sinnvoll, da ich das Feld nicht von links nach rechts fülle, sondern mit den längsten Ketten beginne.
(Auch im Originalbild haben nicht alle Spalten 5 Farben.)

Die Werte zu 2. und 3. bedingen sich teilweise. (Wenn ich in jeder Spalte 4 Farben habe, kann eine Kette in einer Spalte maximal 4 Kettenglieder haben.) Dies muss aber bei der Eingabe nicht berücksichtigt werden.


B) Blatt: "Karte"

Hier habe ich die Berechnung einmal so umgesetzt wie ich sie verstanden habe. Mit einem Doppelklick auf eine der farbigen Zellen wird diese "angekreuzt".
Mit den Button "übernehmen" aus dem Blatt "Variation" oder dem Blatt "Erstellung" werden die Kreuze wieder entfernt.


Angehängte Dateien
.xlsm   NochMal04.xlsm (Größe: 92,57 KB / Downloads: 2)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste