Joanne tran
New Member
- Joined
- Jan 13, 2017
- Messages
- 2
Please help me to debug this code. I have been reading this code over and over and can't see why error occurred. Thanks. Look at the red color line.
Function createCharts() ' *****************************************************
Dim pivotSheet As Worksheet
Dim lastRow As Long
Dim chartSheet As Worksheet
Dim wk_adj As Long
' > > > > > lastRow adjusts weeks
wk_adj = Worksheets("Interface").Range("c18")
Set pivotSheet = Sheet2
lastRow = pivotSheet.Range("B" & Rows.Count).End(xlUp).Row - wk_adj
Set chartSheet = Sheet3
' Delete all previous chart objects ----------------------------------------
Dim chtObj As ChartObject
For Each chtObj In chartSheet.ChartObjects
chtObj.Delete
Next
' --------------------------------------------------------------------------
' Chart Objects ------------------------------------------------------------
Dim colLate As Object
Dim colShort As Object
Dim colMed As Object
Dim colLong As Object
Dim colBars As Object
' --------------------------------------------------------------------------
' Chart Dimensions ---------------------------------------------------------
Dim height As Long
Dim baseLeft As Long
Dim baseTop As Long
Dim width As Long
Dim offset As Long
' >>>>>>>>>>>>>>>>>
height = Worksheets("Interface").Range("C11")
baseLeft = Worksheets("Interface").Range("C12")
baseTop = Worksheets("Interface").Range("C13")
width = Worksheets("Interface").Range("C14")
offset = Worksheets("Interface").Range("C15")
' >>>>>>>>>>>>>>>>>
' --------------------------------------------------------------------------
' Create Late --------------------------------------------------------------
Set colLate = chartSheet.ChartObjects.Add(Left:=baseLeft, width:=width, Top:=offset, height:=height)
colLate.chart.SetSourceData Source:=pivotSheet.Range("H2:H" & lastRow)
colLate.Activate
With ActiveChart
.HasTitle = True
.ChartTitle.Text = "Late"
.HasLegend = False
.Axes(xlValue).MaximumScale = 1
.Axes(xlValue).MajorUnit = 0.2
End With
colLate.chart.SeriesCollection([Index]).Interior.Color = RGB(204, 0, 0)
colLate.chart.SeriesCollection(1).HasDataLabels = True
colLate.chart.SeriesCollection(1).DataLabels.NumberFormat = "0%"
colLate.chart.SeriesCollection(1).DataLabels.Interior.Color = RGB(255, 255, 255)
colLate.Name = "colLate"
Function createCharts() ' *****************************************************
Dim pivotSheet As Worksheet
Dim lastRow As Long
Dim chartSheet As Worksheet
Dim wk_adj As Long
' > > > > > lastRow adjusts weeks
wk_adj = Worksheets("Interface").Range("c18")
Set pivotSheet = Sheet2
lastRow = pivotSheet.Range("B" & Rows.Count).End(xlUp).Row - wk_adj
Set chartSheet = Sheet3
' Delete all previous chart objects ----------------------------------------
Dim chtObj As ChartObject
For Each chtObj In chartSheet.ChartObjects
chtObj.Delete
Next
' --------------------------------------------------------------------------
' Chart Objects ------------------------------------------------------------
Dim colLate As Object
Dim colShort As Object
Dim colMed As Object
Dim colLong As Object
Dim colBars As Object
' --------------------------------------------------------------------------
' Chart Dimensions ---------------------------------------------------------
Dim height As Long
Dim baseLeft As Long
Dim baseTop As Long
Dim width As Long
Dim offset As Long
' >>>>>>>>>>>>>>>>>
height = Worksheets("Interface").Range("C11")
baseLeft = Worksheets("Interface").Range("C12")
baseTop = Worksheets("Interface").Range("C13")
width = Worksheets("Interface").Range("C14")
offset = Worksheets("Interface").Range("C15")
' >>>>>>>>>>>>>>>>>
' --------------------------------------------------------------------------
' Create Late --------------------------------------------------------------
Set colLate = chartSheet.ChartObjects.Add(Left:=baseLeft, width:=width, Top:=offset, height:=height)
colLate.chart.SetSourceData Source:=pivotSheet.Range("H2:H" & lastRow)
colLate.Activate
With ActiveChart
.HasTitle = True
.ChartTitle.Text = "Late"
.HasLegend = False
.Axes(xlValue).MaximumScale = 1
.Axes(xlValue).MajorUnit = 0.2
End With
colLate.chart.SeriesCollection([Index]).Interior.Color = RGB(204, 0, 0)
colLate.chart.SeriesCollection(1).HasDataLabels = True
colLate.chart.SeriesCollection(1).DataLabels.NumberFormat = "0%"
colLate.chart.SeriesCollection(1).DataLabels.Interior.Color = RGB(255, 255, 255)
colLate.Name = "colLate"