ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Chart Macro Problems (https://www.excelbanter.com/excel-programming/412846-chart-macro-problems.html)

R Tanner

Chart Macro Problems
 
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 Tanner

Chart Macro Problems
 
On Jun 19, 1:56 pm, R Tanner wrote:
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

ward376

Chart Macro Problems
 
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

Jon Peltier

Chart Macro Problems
 
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
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
Peltier Technical Services, Inc. - http://PeltierTech.com
_______


"R Tanner" wrote in message
...
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





All times are GMT +1. The time now is 11:42 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com