12.07.2019, 11:28
Hi zusammen
Ich würde gerne in MS Project mit VBA auf die Sammelvorgänge zugreifen um diese zu formatieren.
Ist das möglich ohne das ich die Spalte "Sammelvorgang" sichtbar habe?
Ich habe bisher nur mit
SelectRange row:=i + 1, Column:=2, RowRelative:=False
gearbeitet, damit verweise ich auf die Spalte wo momentan die Spalte ist die die Informationen beinhaltet die ich brauche, aber wie kann ich auf die Warte zugreifen wenn ich die Spalte nicht sichtbar haben möchte?
Mein Kompletter Code ist dazu da die Balken anhand von bestimmten Werten (Vorgangsnamen) einzufärben.
Jetzt würde ich gerne zusätzlich alle Sammelvorgänge finden und bei diesen die Balkenart ändern, aber ich möchte die Spalte "Sammelvorgänge" bzw. "Summary" nicht im Programm ersichtlich haben.
Wie kann ich auf diese Werte zugreifen?
Vielen Dank
Ich würde gerne in MS Project mit VBA auf die Sammelvorgänge zugreifen um diese zu formatieren.
Ist das möglich ohne das ich die Spalte "Sammelvorgang" sichtbar habe?
Ich habe bisher nur mit
SelectRange row:=i + 1, Column:=2, RowRelative:=False
gearbeitet, damit verweise ich auf die Spalte wo momentan die Spalte ist die die Informationen beinhaltet die ich brauche, aber wie kann ich auf die Warte zugreifen wenn ich die Spalte nicht sichtbar haben möchte?
Mein Kompletter Code ist dazu da die Balken anhand von bestimmten Werten (Vorgangsnamen) einzufärben.
Jetzt würde ich gerne zusätzlich alle Sammelvorgänge finden und bei diesen die Balkenart ändern, aber ich möchte die Spalte "Sammelvorgänge" bzw. "Summary" nicht im Programm ersichtlich haben.
Wie kann ich auf diese Werte zugreifen?
Vielen Dank
Code:
Sub BalkenFärben()
Dim Inhalt, InhaltNeu, Trennzeichen, Trennzeichen2 As String
Dim i, Werte As Integer
Dim ArrDaten(0 To 10, 0 To 10) As Double
Dim Sammelvorgang As Boolean
Trennzeichen = "_"
'Von - Bis Spalten
For i = 0 To 40
'definiere Zeile mit schleife
SelectRange row:=i + 1, Column:=2, RowRelative:=False
Inhalt = ActiveCell
'If IsEmpty(ActiveCell.row) = True Then End
'letzte zeile finden????
'Wenn Zelle leer dann nächster schritt in Schleife
If Inhalt = "" Then
'Wenn Zelle nicht leer dann:
Else
Inhalt = Split(Inhalt, Trennzeichen)(0)
ArrDaten(0, 0) = 111#: ArrDaten(0, 1) = 5855577
ArrDaten(1, 0) = 112#: ArrDaten(1, 1) = 5855577
ArrDaten(2, 0) = 113#: ArrDaten(2, 1) = 5855577
ArrDaten(3, 0) = 114#: ArrDaten(3, 1) = 5855577
ArrDaten(4, 0) = 114.1: ArrDaten(4, 1) = 5855577
ArrDaten(5, 0) = 115#: ArrDaten(5, 1) = 5855577
ArrDaten(6, 0) = 116#: ArrDaten(6, 1) = 5855577
ArrDaten(7, 0) = 171#: ArrDaten(7, 1) = 9279917
ArrDaten(8, 0) = 172#: ArrDaten(8, 1) = 8498133
ArrDaten(9, 0) = 173#: ArrDaten(9, 1) = 8498133
ArrDaten(10, 0) = 174#: ArrDaten(10, 1) = 8498133
For Werte = 0 To 10
If ArrDaten(Werte, 0) = Inhalt Then
GanttBarFormatEx MiddleShape:=1, MiddlePattern:=1, MiddleColor:=ArrDaten(Werte, 1), StartColor:=ArrDaten(Werte, 1), EndColor:=ArrDaten(Werte, 1)
GanttBarFormat lefttext:="Anfang"
GanttBarFormat righttext:="Name"
End If
Next Werte
End If
Next i
End Sub