Clever-Excel-Forum

Normale Version: VBA Schleife mit verschiedenen Werten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi zusammen 


Ich arbeite an einem VBA Script bei dem ich eure Hilfe brauche.
Leider klemmt es gerade an den Grundlagen:

Ich habe Werte z.b.

111/5855577
112/5855577
113/5855577
114.0/5855577
114.1/5855577
115/5855577
116/5855577
171/9279917
172/8498133
...

Ich möchte diese Angaben in einer Schleife nutzen und in jedem weiteren Vorgang soll in der Schleife das nächste "Wertenpaar" eingesetzt werden.
Das Script sieht so aus das nach dem Wert 111 gesucht wird und Die Formatierung mit dem Farbcode 5855577 eingefärbt wird, im nächsten Vorgang wird nach 112 gesucht und 58555 eingesetzt usw.

Da ich das Script nicht in Excel nutzt sondern in MS Project kann ich mich nicht auf Zellen beziehen sondern muss die Werte im Script selber hinterlegen..
Huh

Der Komplette Code sieht so aus:
Code:
Sub BalkenFärben()

   Dim Wert, Inhalt As String
   
   For i = 1 To 25
   Wert = "232.0"
   
   SelectRange Row:=i + 1, Column:=4, RowRelative:=False
   Inhalt = ActiveCell
   
   If Wert = Inhalt Then MsgBox ActiveCell
   If Wert = Inhalt Then GanttBarFormatEx MiddleShape:=1, MiddlePattern:=1, MiddleColor:=8498133
   
   Next i

End Sub
es werden in der Spalte 4 in einer Zeile nach der Anderen nach dem Wert "232.0" gesucht und mit 8498133 eingefärbt.
Bis dahin läuft auch alles, jetzt sollte jedoch nicht nur nach "232.0" sonder nach ca. 250 verschiedenen Werten Gesucht und mit den dazugehörigen Farben umgefärbt werden..

Ich bin Dankbar um jede Hilfe :)
Hallöchen,

Du könntest die Werte in einem Array hinterlegen.
Im Prinzip so - ich gehe jetzt mal davon aus, dass Deine Schleife … To 25 eigentlich To 250 sein sollte?

Code:

arrDaten(0,0) = 111: arrDaten(0,1) = 123456
arrDaten(1,0) = 112: arrDaten(1,1) = 223456
arrDaten(2,0) = 111: arrDaten(2,1) = 123456

arrDaten(250,0) = 111: arrDaten(250,1) = 993456

For iCnt1 = 0 to 250
    …
    If arrDaten(iCnt1,0) = Inhalt Then
       MsgBox ActiveCell
       GanttBarFormatEx MiddleShape:=1, MiddlePattern:=1, MiddleColor:=arrDaten(iCnt1,1)
   End If
    …
Next
Hi André
Vielen dank für deine Hilfe :D
Funktioniert genau so wie es sollte :)

Ich wünsche dir ein schönes Wochenende