创建与Excel单元格相关的图表
问题描述:
我对VBA完全陌生。试图将以下代码放在一起:存在具有多种风险的数据集。用户点击命令按钮,会弹出一个消息“请选择要绘制的风险”,用户从数据库中选择一个风险(E栏中的一个风险)。之后,一切都自动化:插入一个散点图,选择x轴的三个值(它们在与选定风险相同的行中的J,K,L列中),y轴的三个vaues为0 ,与列r相同的原始列P的值为0.绘制并格式化该图之后。格式化非常简单,我至今仍坚持第一部分。这是我到目前为止。错误出现在选择x值的行上,“没有找到具有此名称的元素”。该行被标记为**创建与Excel单元格相关的图表
Sub Makro2()
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Choose the risk to draw", xTitleId, InputRng.Address, Type:=8)
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection.NewSeries
**ActiveChart.SeriesCollection(1).XValues = "=Tabelle1!Range(ActiveCell.Offset(0, 5), ActiveCell.Offset(0, 7))"**
ActiveChart.SeriesCollection(1).Values = "=0; Tabelle1!ActiveCell.Offset(0, 11);0"
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(1).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
End With
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
End With
End Sub
在此先感谢!
答
安东尼,
你不必把它当作如果你分配一个公式单元格/ XValues财产 - 现在你基本上是指定一个字符串,并期待Excel的评价,作为一个公式。
ActiveChart.SeriesCollection(1).XValues = ThisWorkBook.Worksheets("Tabelle1").Range(ActiveCell.Offset(0, 5), ActiveCell.Offset(0, 7))
第二行预计细胞传递一个Array /范围尝试followng-
ActiveChart.SeriesCollection(1).Values = Array(0, ThisWorkBook.Worksheets("Tabelle1").ActiveCell.Offset(0, 11),0)
- 相反,它应该简单地使用ThisWorkBook.Worksheets(“Tabelle1”)是指在工作表分配
更多详细的活动 -
https://msdn.microsoft.com/en-us/library/office/ff838988.aspx
+0
谢谢,ssaptarshi。将尝试你的建议 –
我通过使用组合框找到替代解决方案。一个例子是在这里http://excelribbon.tips.net/T007887_Automatically_Creating_Charts_for_Individual_Rows_in_a_Data_Table.html –