Option
Explicit
Sub
Test()
Dim
objNewChart
As
Excel.Chart
Set
objNewChart = CreateChart(
"Blabla"
)
End
Sub
Public
Function
TryCreateChart(Name
As
String
,
ByRef
Chart
As
Excel.Chart)
As
Boolean
On
Error
Resume
Next
Set
Chart = CreateChart(Name)
TryCreateChart =
Not
Chart
Is
Nothing
End
Function
Public
Function
CreateChart(Name
As
String
)
As
Excel.Chart
On
Error
GoTo
SafeExit
Application.ScreenUpdating =
False
tplChart.Visible = xlSheetVisible
Call
tplChart.Copy(Before:=tplChart)
Set
CreateChart = tplChart.Previous
CreateChart.Name = Name
SafeExit:
tplChart.Visible = xlSheetHidden
Application.ScreenUpdating =
True
If
Not
CreateChart
Is
Nothing
Then
If
Err.Number <> 0
And
CreateChart.Name <> Name
Then
Application.DisplayAlerts =
False
Call
CreateChart.Delete
Application.DisplayAlerts =
True
Call
Err.Raise(Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext)
End
If
End
If
End
Function