vba - 尝试从其他工作表 vba 生成图形时发生错误
问题描述
我有一组代码,有时会产生错误。
代码
的作用 代码从另一个电子表格中获取固定范围的值。然后这些值仅用于创建散点图。并且图表被粘贴到当前工作表上。
错误信息
代码是运行时错误“-2147221504 (80040000)”:每个图表的最大数据系列数为 255。
同样,这个错误只是有时会产生。
编码
Dim GraphRange As Range
Dim cht As Shape
Set GraphRange = Sheets("This Sheet").Range("V10:W8013")
Set cht = Sheets("This Sheet").Shapes.AddChart2(, xlXYScatterSmoothNoMarkers)
With cht.Chart
.SetSourceData Source:=GraphRange
.FullSeriesCollection(1).Format.Line.Weight = 1.5
.ChartArea.Height = 520
.ChartArea.Width = 400
.Axes(xlCategory).ReversePlotOrder = True
.ChartTitle.Text = "The Graph"
End With
该代码是从另一个子调用的,但是,我认为调用它的条件不是问题。
编辑
当发生此错误时,无论出于何种原因,它都试图从应该粘贴图形的工作表中获取值。这意味着它甚至没有查看正确的电子表格。
解决方案
到目前为止,这一直对我有用......我 PlotBy:=xlColumns in .SetSourceData
Sub CreateGraph()
Dim GraphRange As Range
Dim cht As Shape
Set GraphRange = Sheets("This Sheet").Range("V10:W8013")
Set cht = Sheets("This Sheet").Shapes.AddChart2(, xlXYScatterSmoothNoMarkers)
With cht.Chart
.SetSourceData Source:=GraphRange, PlotBy:=xlColumns
.SeriesCollection(1).Format.Line.Weight = 1.5
.ChartArea.Height = 520
.ChartArea.Width = 400
.Axes(xlCategory).ReversePlotOrder = True
.ChartTitle.Text = "My Graph"
End With
End Sub
推荐阅读
- c# - 如何在 WPF 中设置静态 Bing 地图?
- ansible - 将一组任务委托给另一个依赖条件的主机
- php - Laravel 5.5:是否有适用于所有 Eloquent 模型的 Global Mutator 之类的东西?
- python - 使用 np.where 循环遍历多个数组
- r - 在 R 上创建面板数据集
- java - 添加 while 循环后程序/GUI 冻结
- javascript - jquery ajax - jquery ajax成功后上传文件或图像未清除
- string - 如何在本地保存用户名并在每个页面颤动中显示
- php - 如何从 Laravel 控制器中的用户获取或设置不同的 `env` 值
- dataframe - 对数据框 pandas 中的内容使用 beautifulsoup