Dear All,
An ex colleaque created some coding to format some times into a gantt chart format automtically using VBA, the coding used to work fine, and now I can not get it to format if a cell has data, all it does now is fill all the blanks wiuth random yellow everywhere. Can someone have a look and let me know what is going wrong. Here is the coding, first bit is new coding, second bit is old version.
New Coding
Sub Monday()
'############# monday ###################
Application.ScreenUpdating = False
lowerrange = 3
numbersrange = 505
total = 506
k = 0
For z = 68 To 90
Worksheets("Monday"
.Range(Chr(z) & Format(total)).Value = ""
For i = lowerrange To numbersrange
Worksheets("Monday"
.Range(Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 255)
Worksheets("Monday"
.Range(Chr(z) & Format(i)).Borders.Color = RGB(0, 0, 0)
If Worksheets("Monday"
.Range(Chr(z) & Format(lowerrange - 1)) >= Worksheets("Monday"
.Range("B" & Format(i)) And Worksheets("Monday"
.Range(Chr(z) & Format(lowerrange - 1)) <= Worksheets("Monday"
.Range("C" & Format(i)) Then
Worksheets("Monday"
.Range(Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 0)
k = k + 1
End If
Next
Worksheets("Monday"
.Range(Chr(z) & Format(total)).Value = k
k = 0
Next
'########################################### set double letters
For z = 65 To 74
For i = lowerrange To numbersrange
Worksheets("Monday"
.Range("A" & Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 255)
Worksheets("Monday"
.Range("A" & Chr(z) & Format(i)).Borders.Color = RGB(0, 0, 0)
If Worksheets("Monday"
.Range("A" & Chr(z) & Format(lowerrange - 1)) >= Worksheets("Monday"
.Range("B" & Format(i)) And Worksheets("Monday"
.Range("A" & Chr(z) & Format(lowerrange - 1)) <= Worksheets("Monday"
.Range("C" & Format(i)) Then
Worksheets("Monday"
.Range("A" & Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 0)
k = k + 1
End If
Next
Worksheets("Monday"
.Range("A" & Chr(z) & Format(total)).Value = ""
Worksheets("Monday"
.Range("A" & Chr(z) & Format(total)).Value = k
k = 0
Next
Application.ScreenUpdating = True
End Sub
old coding
'########sunday############
lowerrange = 165
numbersrange = 186
total = 187
k = 0
For z = 68 To 90
Worksheets("rota1"
.Range(Chr(z) & Format(total)).Value = ""
For i = lowerrange To numbersrange
Worksheets("rota1"
.Range(Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 255)
Worksheets("rota1"
.Range(Chr(z) & Format(i)).Borders.Color = RGB(0, 0, 0)
If Worksheets("rota1"
.Range(Chr(z) & Format(lowerrange - 1)) >= Worksheets("rota1"
.Range("B" & Format(i)) And Worksheets("rota1"
.Range(Chr(z) & Format(lowerrange - 1)) <= Worksheets("rota1"
.Range("C" & Format(i)) Then
Worksheets("rota1"
.Range(Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 0)
k = k + 1
End If
Next
Worksheets("rota1"
.Range(Chr(z) & Format(total)).Value = k
k = 0
Next
'########################################### set double letters
For z = 65 To 74
Worksheets("rota1"
.Range("A" & Chr(z) & Format(total)).Value = ""
Next
For z = 65 To 74
For i = lowerrange To numbersrange
Worksheets("rota1"
.Range("A" & Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 255)
Worksheets("rota1"
.Range("A" & Chr(z) & Format(i)).Borders.Color = RGB(0, 0, 0)
If Worksheets("rota1"
.Range("A" & Chr(z) & Format(lowerrange - 1)) >= Worksheets("rota1"
.Range("B" & Format(i)) And Worksheets("rota1"
.Range("A" & Chr(z) & Format(lowerrange - 1)) <= Worksheets("rota1"
.Range("C" & Format(i)) Then
Worksheets("rota1"
.Range("A" & Chr(z) & Format(i)).Interior.Color = RGB(255, 255, 0)
k = k + 1
End If
Next
Worksheets("rota1"
.Range("A" & Chr(z) & Format(total)).Value = ""
Worksheets("rota1"
.Range("A" & Chr(z) & Format(total)).Value = k
k = 0
Next
Application.ScreenUpdating = True
End Sub
sorry for the huge data, but couldnt think of anyway to do it.
Regards
An ex colleaque created some coding to format some times into a gantt chart format automtically using VBA, the coding used to work fine, and now I can not get it to format if a cell has data, all it does now is fill all the blanks wiuth random yellow everywhere. Can someone have a look and let me know what is going wrong. Here is the coding, first bit is new coding, second bit is old version.
New Coding
Sub Monday()
'############# monday ###################
Application.ScreenUpdating = False
lowerrange = 3
numbersrange = 505
total = 506
k = 0
For z = 68 To 90
Worksheets("Monday"
For i = lowerrange To numbersrange
Worksheets("Monday"
Worksheets("Monday"
If Worksheets("Monday"
Worksheets("Monday"
k = k + 1
End If
Next
Worksheets("Monday"
k = 0
Next
'########################################### set double letters
For z = 65 To 74
For i = lowerrange To numbersrange
Worksheets("Monday"
Worksheets("Monday"
If Worksheets("Monday"
Worksheets("Monday"
k = k + 1
End If
Next
Worksheets("Monday"
Worksheets("Monday"
k = 0
Next
Application.ScreenUpdating = True
End Sub
old coding
'########sunday############
lowerrange = 165
numbersrange = 186
total = 187
k = 0
For z = 68 To 90
Worksheets("rota1"
For i = lowerrange To numbersrange
Worksheets("rota1"
Worksheets("rota1"
If Worksheets("rota1"
Worksheets("rota1"
k = k + 1
End If
Next
Worksheets("rota1"
k = 0
Next
'########################################### set double letters
For z = 65 To 74
Worksheets("rota1"
Next
For z = 65 To 74
For i = lowerrange To numbersrange
Worksheets("rota1"
Worksheets("rota1"
If Worksheets("rota1"
Worksheets("rota1"
k = k + 1
End If
Next
Worksheets("rota1"
Worksheets("rota1"
k = 0
Next
Application.ScreenUpdating = True
End Sub
sorry for the huge data, but couldnt think of anyway to do it.
Regards