Chart Macro Problems

R

R Tanner

Can anyone help me identify what I am doing wrong with this macro? I
am getting error message when I try to run it. It is telling me that
I am not completing the end if statement.


Sub createchart()
Dim cw As Long, rh As Long
Dim mp(1 To 4) As Integer

cw = Application.Sheets("Sheet4").Shape("Rounded Rectangle 2").Width
rh = Application.Sheets("Sheet4").Shape("Rounded Rectangle 2").Height
ct = Application.ActiveSheet.ChartObjects.Add(cw - 1, rh - 1, cw - 1,
rh - 5)
mp(1) = ActiveWorkbook.Sheets(1).Range("A22")
mp(2) = ActiveWorkbook.Sheets(1).Range("A23")
mp(3) = ActiveWorkbook.Sheets(1).Range("A24")
mp(4) = ActiveWorkbook.Sheets(1).Range("A25")

If ActiveWorkbook.Sheets(1).Range("A22") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C18" + Range("A22").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A23") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C19" + Range("A23").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A24") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C20" + Range("A24").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A25") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C21" + Range("A25").Value), _
SeriesLabels:=True
End If
With ct
.Type = xlLine
.HasTitle = True
.chartitle.Text = "Volumes Trends"
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlCategory, xlSecondary) = False
.HasAxis(xlValue, xlPrimary) = False
.HasAxis(xlValue, xlSecondary) = False
End With
End Sub
 
R

R Tanner

Can anyone help me identify what I am doing wrong with this macro? I
am getting error message when I try to run it. It is telling me that
I am not completing the end if statement.

Sub createchart()
Dim cw As Long, rh As Long
Dim mp(1 To 4) As Integer

cw = Application.Sheets("Sheet4").Shape("Rounded Rectangle 2").Width
rh = Application.Sheets("Sheet4").Shape("Rounded Rectangle 2").Height
ct = Application.ActiveSheet.ChartObjects.Add(cw - 1, rh - 1, cw - 1,
rh - 5)
mp(1) = ActiveWorkbook.Sheets(1).Range("A22")
mp(2) = ActiveWorkbook.Sheets(1).Range("A23")
mp(3) = ActiveWorkbook.Sheets(1).Range("A24")
mp(4) = ActiveWorkbook.Sheets(1).Range("A25")

If ActiveWorkbook.Sheets(1).Range("A22") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C18" + Range("A22").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A23") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C19" + Range("A23").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A24") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C20" + Range("A24").Value), _
SeriesLabels:=True
Else
If ActiveWorkbook.Sheets(1).Range("A25") > 0 Then
ct.Chart.SeriesCollection.Add _
Source:=ActiveSheet.Range("C21" + Range("A25").Value), _
SeriesLabels:=True
End If
With ct
.Type = xlLine
.HasTitle = True
.chartitle.Text = "Volumes Trends"
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlCategory, xlSecondary) = False
.HasAxis(xlValue, xlPrimary) = False
.HasAxis(xlValue, xlSecondary) = False
End With
End Sub

I have a declaration at the top for ct.....

Private ct As Object
 
W

ward376

The elses and ifs should be together:

instead of:
Else
If ActiveWorkbook.Sheets(1).Range("A23") > 0 Then
try
Elseif ActiveWorkbook.Sheets(1).Range("A23") > 0 Then

Otherwise, an end if is required for each if.

Cliff Edwards
 
J

Jon Peltier

I am getting error message when I try to run it.

Which error? What's the error number AND description? What line is
highlighted?

- Jon
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top