• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

VBA-Programm

spider_fx

Hobby-Spieler/in
Registriert
15.02.2003
Beiträge
621
Reaktionspunkte
0
Erzeuge ein kleines 5x5-Schachbrett: Ein Quadrat mit 25 Feldern, die alternierend schwarz und weiss gefärbt sind.

Wie bringe ich das hin??
habe folgendes versucht, jedoch ohne erfolg:

Sub schachbrett1()
Cells.Clear

Dim r As Range, zelle As Range, ci As Integer

Set r = Range(Cells(1, 1), Cells(5, 5))

For Each zelle In r
If (Column + Row) / 2 = 1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Or 10 Or 11 Or 12 Then
ci = 1
zelle.Interior.ColorIndex = ci
Else
ci = 2
zelle.Interior.ColorIndex = ci

End If

Next zelle

End Sub


thx for quick help, spider_fx
 
benutzt du irgendeine grafik lib oder sowas in der art? oder wie willste denn dein schachbrett aufbauen,bisschen mehr details wären nicht schlecht
 
spider_fx am 01.12.2004 17:36 schrieb:
Erzeuge ein kleines 5x5-Schachbrett: Ein Quadrat mit 25 Feldern, die alternierend schwarz und weiss gefärbt sind.

Wie bringe ich das hin??
habe folgendes versucht, jedoch ohne erfolg:

Sub schachbrett1()
Cells.Clear

Dim r As Range, zelle As Range, ci As Integer

Set r = Range(Cells(1, 1), Cells(5, 5))

For Each zelle In r
If (Column + Row) / 2 = 1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Or 10 Or 11 Or 12 Then
ci = 1
zelle.Interior.ColorIndex = ci
Else
ci = 2
zelle.Interior.ColorIndex = ci

End If

Next zelle

End Sub


thx for quick help, spider_fx


Sub schachbrett1()
Cells.Clear

Dim r As Range, zelle As Range
dim bBlack as boolean
Set r = Range(Cells(1, 1), Cells(5, 5))
bBlack = vbTrue 'falls es schwarz losgehen soll

For Each zelle In r
if bBlack = vbTrue then
zelle.Interior.Color = vbBlack
Else
zelle.Interior.Color = vbWhite
End If

bBlack = not bBlack
Next zelle

End Sub


Oder:


Sub schachbrett1()
Cells.Clear

Dim r As Range, zelle As Range, ci as integer
dim bBlack as boolean
Set r = Range(Cells(1, 1), Cells(5, 5))
bBlack = vbTrue 'falls es schwarz losgehen soll

For Each zelle In r
if bBlack = vbTrue then
ci = 1
Else
ci = 2
End If
zelle.Interior.ColorIndex = ci
bBlack = not bBlack
Next zelle

End Sub


Nicht elegant, sollte aber funktionieren (Excel/VBA)
 
Zurück