Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub CreateProjectNetwork()
- Dim AOAarcs() As Integer, finishtime As Double, r As Range, numNodes As Integer, i As Integer
- Dim ES As Integer, LS As Integer, Critical As Integer, maxLS As Integer, r2 As Range
- Application.ScreenUpdating = False
- AOAarcs = GetAOAarcs()
- Call FormatSolverWorksheet(AOAarcs)
- finishtime = SolveProjectNetworkMin()
- Call GetMinValues
- finishtime = SolveProjectNetworkMax(finishtime)
- Call GetMaxValues
- 'Create Gantt Chart
- Worksheets("Gantt Chart").Cells.Clear
- Set r = Worksheets("Solution Table").Range("A2")
- Set r2 = Worksheets("Gantt Chart").Range("A1")
- numNodes = Worksheets("Solution Table").Range("A2").End(xlDown)
- 'Begin Filling Table
- r2.Offset(0, 0) = "Activity"
- r2.Offset(0, 1).Value = 1
- r2.Offset(0, 2).Value = 2
- 'Set default values
- i = 1
- maxLS = 0
- 'For each row in solution table (except end node), create gantt chart row
- Do While i < numNodes - 1
- r2.Offset(i, 0) = r.Offset(i, 0) 'Activity number
- ES = r.Offset(i, 1).Value
- LS = r.Offset(i, 2).Value
- If LS > maxLS Then
- maxLS = LS
- End If
- Critical = r.Offset(i, 5).Value
- 'Select Area to be formatted
- Worksheets("Gantt Chart").Select
- Range(Range("A1").Offset(i, ES + 1), Range("A1").Offset(i, LS)).Select
- If Critical = 1 Then
- With Selection.Interior
- .Pattern = xlSolid
- .PatternColorIndex = xlAutomatic
- .ThemeColor = xlThemeColorAccent3
- .TintAndShade = 0
- .PatternTintAndShade = 0
- End With
- Else
- With Selection.Interior
- .Pattern = xlSolid
- .PatternColorIndex = xlAutomatic
- .Color = 49407
- .TintAndShade = 0
- .PatternTintAndShade = 0
- End With
- End If
- i = i + 1
- Loop
- Worksheets("Gantt Chart").Select
- 'Add top row number from 1 to the max finish time (end node)
- Range("B1:C1").AutoFill Destination:=Range(Range("B1"), Range("B1").Offset(0, maxLS - 1)), Type:=xlFillDefault
- Application.ScreenUpdating = True
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement