Excel 如何检查图表是否已创建
我使用以下命令通过vba添加图表:Excel 如何检查图表是否已创建,excel,vba,Excel,Vba,我使用以下命令通过vba添加图表: Dim CsvVisualization As ChartObject Set ChartSizePosition = Range("B8:I25") Set CsvVisualization = ThisWorkbook.Sheets("Übersicht").ChartObjects.Add(ChartSizePosition.Left, ChartSizePosition.Top, ChartSizePosition.Width, ChartSizePo
Dim CsvVisualization As ChartObject
Set ChartSizePosition = Range("B8:I25")
Set CsvVisualization = ThisWorkbook.Sheets("Übersicht").ChartObjects.Add(ChartSizePosition.Left, ChartSizePosition.Top, ChartSizePosition.Width, ChartSizePosition.Height)
CsvVisualization.Name = "MeasurementVisualization"
With CsvVisualization.Chart
.ChartType = xlXYScatterSmoothNoMarkers
...
当excel文件重新打开时,我如何证明此图表是否已创建?我试过这样的方法:
If CsvVisualization Is Nothing Then
但是,当文件关闭并再次打开时,CsvVisualization将无法保持其价值
谢谢你的帮助 打开工作表时,您可以查看工作簿中的所有图表,以查看具有该名称的图表是否已存在:
Private Sub Workbook_Open()
Dim testChart As ChartObject
For Each testChart In ThisWorkbook.Charts
If testChart.Name = "MeasurementVisualization" Then
'Chart exists, so do something or not or whatever or what have you
End If
Next
End Sub
如果引用对象会出现错误,可以尝试
On Error Resume Next
Set CurrentChart = thisworkbook.sheets("Übersicht").ChartObjects("MeasurementVisualization")
On Error GoTo 0
If IsEmpty(CurrentChart) Then
MsgBox "Not found"
Else
CurrentChart.Activate
End If
你可以用创建图表来替换If中的代码。…@FreeMan我喜欢你只是在OP关心的选项卡中查看图表。我只是漫不经心地看了看所有这些。我基本上是从我目前正在做的一个项目中复制了这些代码,然后把他的图表创建位放在那里。。。
On Error Resume Next
Set CurrentChart = thisworkbook.sheets("Übersicht").ChartObjects("MeasurementVisualization")
On Error GoTo 0
If IsEmpty(CurrentChart) Then
MsgBox "Not found"
Else
CurrentChart.Activate
End If