Textfarbe nach ein paar Einträgen wechseln

Dieser Thread ist Teil einer Diskussion zu einem Artikel:  Zum News-Artikel gehen

Fritz50

Stammgast
Hallo Community

Ich löse Sudokus und Binoxx Rätsel auf Excel Blättern.
Da wäre es interessant, wenn ich nach der Eingabe der Aufgabe, die Schriftfarbe ändern könnte.
Bis jetzt habe ich keine Lösung gefunden.
Oder wenigstens die Hintergrundfarbe ändern.
Ich habe da noch eine Idee: könnte man eine Funktion schreiben, die nach der Eingabe der gegebenen
Werte die Schriftfarbe in den leeren Zellen ändert .

Schöne Grüsse
Fritz
 

nochEinAndreas

Stammgast
Hallo Fritz,

das habe ich noch nicht verstanden. Was heißt "nach der Eingabe der Aufgabe"? und warum kannst du dann die Schriftfarbe nicht ändern?
Und die Funktion, die du dir wünschst. Das geht sicher. Aber was heißt "nach der Eingabe der gegebenen Werte"?
Bitte erhelle uns mal etwas.

Grüße, Andreas
 

weer

Stammgast
Salü Fritz

Ich glaube, ohne Makros geht das nicht. Du kannst zwar die 10 x 10 Zellen markieren. Dann Tastenkombination CTRL-G (Gehe zu) / Inhalte … / Leerzellen - Dann musst Du aber diese Zellen von Hand einfärben oder die Schriftfarbe wählen.

Ich bin seit Corona am Basteln: Ich möchte Binoxx-Rätsel (oder Binero, wie sie auch heissen) mit Excel lösen und bin schrittweise daran, verschiedene Makros dafür zu schreiben.

Ich hänge meine xlsm-Datei (mit den Makros) an. Wenn Du dort zu Deiner Frage schauen willst:
In Tabelle1 erfasse ich in den Spalten S:AB die Werte, wie man sie in Zeitungs-/Zeitschriften-Rätseln findet. Wichtig dabei: Ich gebe die Werte als kleines "x" und kleines "o" ein. Mit Null und X bzw. mit Null und Eins wird der automatisierte Ablauf viel zu umständlich. Diese vorgegebenen Werte werden mit roter Schriftfarbe geschrieben.
Mit einem Klick auf den grünen Pfeil werden diese Werte in die Spalten D:M übertragen und bleiben dort rot. Die neuen Werte, die man nun in den Spalten D:M eingibt, haben die Schriftfarbe grün.
Die ersten neuen Eingaben mache ich allerdings mit dem START-Knopf. Was ohne langes Ueberlegen eingetragen werden kann, erledigt Excel!

Nun muss ich von Hand einen oder mehrere Werte eingeben und kann dann wieder START drücken usw. Diese manuelle Eingabe auch automatisch zu erledigen: Dabei stehe ich zur Zeit! Vielleicht gelingen mir die weiteren nötigen Makro-Schritte auch noch irgendwann. - Und zwischendurch immer wieder mal den TEST-Knopf drücken!

Eine Frage an alle Leser hier: Kennt jemand ein Excel-Programm, das Binoxx/Binero lösen kann? Für Sudokus habe ich vor längerer Zeit ein Excel-Programm gefunden, das bestens funktioniert. Für Binoxx habe ich nichts gefunden.

Alles Gute und freundliche Grüsse Niclaus
 

Anhänge

  • Binoxx.zip
    313,4 KB · Aufrufe: 9

Fritz50

Stammgast
Hallo,

Ich habe jetzt zwei Prozeduren geschrieben, die ich mit Buttons aufrufe.
Mit der einen Prozedur lösche ich die Felder und mache den Hintergrund wieder transparent.
Mit der anderen P. färbe ich den Anfangszustand ein und ändere die Schriftfarbe in den noch leeren Zellen.
Dazwischen fülle ich das Sudoku wie es der Aufgabe entspricht.
Nach dem Einfärben löse ich die Aufgabe.
"Nach Eingabe des Anfangszustand" ist das ungelöste Sudoku.

Für die Prozeduren habe ich vorgängig Makros aufgezeichnet und die passenden Codesequenzen in die Prozeduren eingefügt (zum Einfärben braucht es eine Schleife, weil jede Zelle untersucht werden muss).
Für Binoxx-Rätsel löste ich es ganz ähnlich.

Für Sudoku habe ich eine Hilfe programmiert. Die geht so, dass ich für jede Zahl prüfe, ob diese Zahl in den Reihen und in den Spalten schon existiert.
Die besetzten Spalten und Reihen werden eingefärbt. Mögliche Stellen für die Zahl bleiben weiss und sind noch leer. Durch Iteration über alle Zahlen gelange ich zur Lösung.

Für das Binoxx-Rätsel habe ich es (noch) nicht versucht. Man könnte vielleicht prüfen, dass nicht drei gleiche Symbole hintereinander stehen.
Eine ganz einfache Hilfe habe ich eingeführt, indem ich am Rand die x oder o zähle.

Freundliche Grüsse
Fritz
 
Zuletzt bearbeitet:

nochEinAndreas

Stammgast
Hallo Niclaus,

ich hätte mir deine Makros gerne mal angeschaut. Leider kriege ich eine Fehlermeldung, wenn ich das Zip öffnen möchte. Hast du eine Idee?

Grüße, Andreas

Fehler.jpg
 

weer

Stammgast
Hallo Andreas
Ich versuche es noch einmal.
Alles Gute und viele Grüsse Niclaus
 

Anhänge

  • Binoxx.zip
    313,5 KB · Aufrufe: 8

Fritz50

Stammgast
Guten Morgen

Das Zip-File ist nicht selbsextrahierend, aber ich konnte es mit 7-Zip öffnen.
Ich sehe auch den Code, aber ich finde die "Verbindung" nicht von den Eingabeelenten (Buttons?) zum Code nicht.
Bei den Buttons gibt es doch die Eigenschaften und (Ereignis-)code?

Beste Grüssse
Fritz

P.S. ich hätte noch zwei weitere Problemchen (Codesequenz/Selection und zu Formularen). Aber dafür erstelle ich doch besser ein neues Thema?
 

weer

Stammgast
Grüezi Fritz
Ich benutze als "Buttons" meistens Formen aus dem Menü "EINFÜGEN": Pfeile, Textfelder usw. Wenn Du einen solchen "Button" mit der rechten Maus anklickst, kannst Du im Kontextmenü auswählen: "Makro zuweisen ...". Der Name des damit verknüpften Makros erscheint. Dieses Makro wird mit "Bearbeiten" geöffnet.
Ich hoffe, ich habe mich unververständlich genug geäussert ;-)
Grüsse Niclaus
 

nochEinAndreas

Stammgast
Danke Niclaus,

jetzt konnte ich das zip öffnen. Der Code sieht richtig interessant aus. So auf die Schnelle habe ich ihn noch nicht durchschaut.

Grüße, Andreas
 

Fritz50

Stammgast
Zum Binoxx Rätsel

Die Anwendung löst das Rätsel nicht vollständig. Meinst du das, wenn du schreibst, dass ein oder mehrere Werte eingeben musst und dann wieder START drücken musst?
Mir ist etwas aufgefallen: Das o in G7 wird nicht erkannt und gezählt. Das kann ich mir nicht erklären.

Ich habe den IIf Befehl nicht gekannt. Es dauert etwas bis man diese Codezeilen versteht. Ich habe nach einer anderen Lösung gesucht und möchte diese hier zeigen. Dann muss die innere Schlaufe nicht bis zur letzten Spalte resp. Zeile durchlaufen werden, denn bereits von der drittletzten Spalte/Zeile aus wird auch die letzte Spalte/Zeile erreicht (co +2)

Leider verschwinden die Einzüge, wenn ich den Post speichere.
Sub m1aa() ' zeilenweise
v = "x" ' Werte für den ersten Suchlauf
w = "o"

For n = 1 To 2
For ro = 5 To 14 ' Zeilen
For co = 4 To 11 ' Spalte 13 wird auch so erreicht
Cells(ro, co).Select
If Cells(ro, co) = v And Cells(ro, co + 1) = v Then Cells(ro, co + 2) = w
If Cells(ro, co) = v And Cells(ro, co + 2) = v Then Cells(ro, co + 1) = w
If Cells(ro, co + 1) = v And Cells(ro, co + 2) = v Then Cells(ro, co) = w
Next co
Range("N5:N14").ClearContents
Next ro
v = "o" ' Werte für den 2. Suchlauf tauschen
w = "x"

Next n
End Sub


Freundliche Grüsse
Fritz
 
Zuletzt bearbeitet:

weer

Stammgast
Hallo Fritz
Die Anwendung löst das Rätsel nicht vollständig. Meinst du das, wenn du schreibst, dass man einen oder mehrere Werte eingeben muss und dann wieder START drücken musst?
Ja, genau. Hier wird es eben komplizierter mit dem Entwickeln von Makros - mit oder ohne Corona ;-) Ich hoffe auf Andreas!!
Nach dem ersten Start also einen "richtigen" Wert von Hand eingeben (oder mehrere), dann wieder START drücken zum weiterberechnen. Dann wieder manuell einen Wert eingeben und wieder START usw. Und dazwischen wieder mal TEST drücken.

Mir ist etwas aufgefallen: Das o in G7 wird nicht erkannt und gezählt. Das kann ich mir nicht erklären.
Und ich kann es nicht glauben! Bei mir wird es gezählt!

Dann muss die innere Schlaufe nicht bis zur letzten Spalte resp. Zeile durchlaufen werden.
Da hast Du recht. Wahrscheinlich sind dann auch die Zeilen "Range("N5:N14").ClearContents" und "Range("D15:M15").ClearContents" überflüssig.

Leider verschwinden die Einzüge, wenn ich den Post speichere.
Wenn Du den ganzen Code markierst und beim "Einfügen"-Button "Code" wählst, werden die Einzüge gemacht.
1587120901819.png
Alles Gute und viele Grüsse Niclaus
 

Fritz50

Stammgast
Hallo Niclaus

Ich denke die ...ClearContents Zeile würden "über den Rand" geschriebene Werte löschen.
Das mit der Zelle G7 ist wirklich seltsam. Ich werde vermutlich das Blatt mal neu schreiben. Wenn ich das o neu eingebe wird es gezählt.
Ich habe es auch mit der Formatübertragung aus einer nebenstehende Zelle versucht. Bringt auch nichts.

Wenn ich Binoxx manuell löse, sind manchmal nach ein paar Eingaben bereits 5 gleiche Werte in einer Reihe. Dann kann man den Rest auffüllen.
Das müsste man auch mit einem Makro prüfen.

Schönes Wochenende und beste Grüsse
Fritz
 
Oben