Hallo,
ich möchte gern einen (eigenen) Solver für Sudokus erstellen. Dazu habe ich mehrere Sheets erstellt (zb für 9er, 16er und 25er Sudokus). Aus optischen Gründen beginnen die „Muster“ in der Zelle B2.
Da ich nun nicht jedes Mal die Zellenwerte anpassen möchte (also wenn ich Zeile 1 will, muss ich Zeile 2 denken), habe ich Namen vergeben.
Per VBA habe ich jedem Sheet und jedem einzelnen Bereich (komplettes Sudoku, komplette Zeile(n), komplette Spalte(n), Quadrat(e) feste Namen vergeben lassen.
Somit habe ich - für jedes einzelne Sheet unterschiedliche Namen auf die ich nun zugreifen möchte.
Zu lösen soll eigentlich immer das „aktive Tabellenblatt“ sein.
Ich weiß aber nicht so richtig, wie ich zb jetzt folgendes auslesen (oder darin hinein schreiben) kann (die nachfolgenden Dinge sind nur Beispiele):
- ich will alle Felder der 1. Zeile (Name: „Zeile1“) durchgehen und auslesen in eine Variable; mit Trennzeichen
- ich will in das 3. Feld der 2. Spalte (Name: „Spalte2“) etwas hinein schreiben
- ich möchte im "Block1 (der erste Block in Sudoku links oben) in der zweiten Zeile das erste Feld auslesen (wäre ja eigentlich das 4. Feld im Namen „Block1“; es wurde auch von links nach rechts, von oben nach unten gefüllt und ist in Excel auch so sichtbar.)
Wie kann ich das tun?
Alle Beispiele die ich im Netz gefunden habe, haben keine Lösung gebracht. Kam immer Fehler wegen „Global“ wenn ich mit Range gearbeitet habe. Z. B.
Dim Bereich
Bereich = Range(Zeile1) 'auch "Zeile1" geht nicht
MsgBox Bereich(1) 'auch Bereich(1).Value geht nicht
Danke im Voraus