Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

Jörg Lorenz schrieb am 29.December.2008, 08:12:40 in der Kategorie pc.coding

Sudoku in VBA /3x3 Feld prüfen

Moin moin,

> Verdammt nein, habe mich schlecht ausgedrückt. Ich will erst einmal ein
> beliebiges Sudoku lösen. Später (Mitte bis Ende Januar soll auch ein Sudoku
> erstellt werden können).

naja, gut, die Function wäre ja trotzdem gleich.

> Ich habe leider zu range nicht wirklich (auch nicht in meinem Kompendium
> von Markt und Technik) viel gefunden, darum habe ich mich dann für cells
> entschieden.

Das würde auch hier mit Cells und Mod gehen, aber das wäre eine unnütze Wurstelei. Range ist ein wichtiges Objekt, das auch nicht zu schwer ist:

Range bezeichnet immer einen Bereich auf einem Tabellenblatt, bestehend aus einer Zelle, zum Beispiel

Range(\"A1\") (vergleichbar mit Cells(1,1)

oder mehreren Zellen, beginnend mit der ersten und endend mit der letzten Zelle, zum Beispiel

Range(\"A1:E3\")

Um den Range variabel zu halten, kann man mit Cells arbeiten und setzt die einfach an die erste und letzte Zelle, im Beispiel:

Range(Cells(1,1), Cells(3,5))

Dementsprechend kann man nun auch bei Cells die Variablen nutzen.

> Ich habe mir in den anderen Funktionen einfach eine
> Hilfsvariable deklariert und dieser den Wert von cells übergeben (
> hilfsvar= cells(x,y), danach habe ich nur noch überprüft ob der Inhalt der
> hilfsvar öfter als einmal vorhanden ist. Bekomme das ganze leider nicht für
> die 3x3 Matrix hin, bzw. scheiter daran, dass es da neun Felder gibt.

Ja, und jetzt gehst Du mit For Each einfach jede Zelle im Bereich durch und prüfst sie auf die hilfsvar:

Private function quadrat (x as integer, y as integer) as Boolean
quadtrat = false
for each objzelle in range(cells(x, y), cells(x + 2, y + 2))
if objzelle = hilfsvar then
quadtrat = true
exit function
next
End Function
Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz