Exce VBA - Feld färben, und Farbe wandern bei random Wert.

...komplette Frage anzeigen

2 Antworten

Wenn das Feld Knicke in der Laufrichtung hat, ist es von Vorteil, mit Cells(i, j) zu arbeiten, weil Du dann sowohl Zeilen wie Spalten bedingt ändern kannst.
Grafiken müsste gehen, füge eine Grafik (< als die Zelle) ein, wähle die Eigenschaften-Option Objekt mit Zellen ausschneiden/kopieren oder so ähnlich, und starte den Makro-Aufzeichner (mal relative Aufzeichnung, mal absolute).

Schneide die Zelle aus, wandere 1 nach unten und füge sie dort wieder ein. -Aufzeichnung beenden-

Anstatt eines Bildchens kannst Du behelfsmäßig ja ein Wingdings-Zeichen nehmen oder eines der schönen arabischen etc Zeichen oder einen Smiley. (zB ۩ ۝ ۞ ٭ ☺☻☼ ♂ ♀ ♫ ♥ ♣ . Da ist das rechts-nach-links-Zeichen dabei, das solltest Du nicht kombinieren, wenn Du keine Erfahrung damit hast.)
Du tust Dir übrigens später (bei geknickten Bahnen oder "Ereignis-Feldern", egal, was sich da ereignen soll) leichter und bekommst einen schönen Manuell-Effekt, wenn Du die Zellen per Schleife n mal um nur je eins versetzt, die "rattert" dann die Strecke entlang bis zum Ziel.
es könnte auch vorteilhaft sein, mit benannten Zellen zu arbeiten. (Bereich Spieler1 oder ZZZ1 etc, Du weisst ja, der Bereichsname darf keine Adresse darstellen).
Das ist für die Wiederfindung günstig:
dim zzz1R, zzz1S
zzz1R = Range("zzz1").row : zzz1S = Range("zzz1).column

i = zzz1R: j=zzz1S definiert dann Cells(i, j) für den Startpunkt der Bewegung, das Ende wäre dann (nach unten): Cells(i + Range("R5").value, j) der Wert in R5 heisst entweder Range("r5").value oder [R5].value (ohne "Anfzch", veraltet, aber praktisch, leider mit Tücken: wertet Ausdrücke nicht aus) oder Cells(5, 18).value .

Prinzipiell sollte das mit Offset gehen, in der Art:

ActiveCell.Offset(0, ActiveSheet.Range("R5").Value).Interior.ColorIndex = ActiveCell.Interior.ColorIndex

Hilft Euch das?

Avarox 23.01.2013, 16:14

Nun, das ist ja jetz noch so, dass wir wenn wir weiter würfeln den neuen Würfelwert mit den alten addieren müssen. Und das auch wieder auf das Spielfeld übertragen werden muss.

0
Oubyi 23.01.2013, 16:20
@Avarox

Was hindert Euch daran?
Ich kenne Euer Spiel nicht!

0

Was möchtest Du wissen?