Tag zusammen, hier mal mein Quellcode:
Function Test()
Dim lZelle As Integer
Dim lZeileZähler As Integer
Dim stSpaltenname As String
lZeileZähler = 1
Sheets("Auswahleinstellungen").Activate
Do
lZelle = Cells(lZeileZähler, 4)
Do
If lZelle = True Then
Cells(lZeileZähler, 4).Interior.Color = RGB(97, 192, 50)
ElseIf lZelle = 1 Then
Cells(lZeileZähler, 4.Interior.Color = RGB(97, 192, 50)
Else
Cells(lZeileZähler, 4).Interior.Color = RGB(255, 255, 255)
End If
### lZeileZähler = lZeileZähler + 1
### stSpaltenname = Sheets("Auswahleinstellungen").Cells(lZeileZähler, 3)
Loop While stSpaltenname = ""
Loop While lZeileZähler <= 400
End Function
So funktioniert der Quellcode nicht, ich bekomme einen Überlauffehler.
Wenn ich aber die beiden Zeilen die mit den Rauten markiert sind, tausche, gibt es keinen Fehler, aber es hat natürlich nicht die gewünschte Funktion.
Es soll so funktionieren:
DIe äußere Schleife beginnt und zählt von 1 bis 400
Ich lese lZelle ein
Dann beginnt die innere Schleife.
ich frage auf 0 oder 1 bzw. True ab. Dann wird jeweils eingefärbt.
Der Zähler für die nächste Zeile und gleichzeitig der Schleifenzähler außen wird um eins erhöht.
Dann wird der Inhalt der nächsten Zeile aus Spalte 3 eingelsen und die Schleife soll sich NUR wiederholen falls nichts in der Zelle steht.
Meine Tabelle sieht ca. so aus:
A B C D
bla bla blabla Name1 1
Name2 0
Name3 1
Also wenn in der Zelle unter Name2 kein Eintrag ist, soll der Wert aus D übernommen werden.
Das Problem ist das die Leerzeilen auch mal mehrere untereinander sind.
Ich hoffe ihr könnte mit helfen, gegen eine leichtere Lösung hätte ich auch nichts, bzw einige Tips.
MfG MC
|