如何通过单击表格单元格Range(“ A2”)来生成图表?
到目前为止,该问题已经解决:
Sub ClickCell()
Dim my_range As Range
Set my_range = Selection
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=my_range
Range(“A2”).Select
End Sub
答案 0 :(得分:1)
您没有提供太多细节,但这应该可以让您入门...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ch
If Target.Address = "$B$2" Then 'if the cell click was B2...
'deletes all charts on worksheet
For Each ch In ActiveSheet.ChartObjects
ch.Delete
Next ch
'create new chart using the data at A1:C8
Range("A1:C8").Select
ActiveSheet.Shapes.AddChart2(227, xlLineMarkers).Select
ActiveChart.SetSourceData Source:=Range("Sheet2!$A$1:$C$8")
End If
End Sub
这是一个工作表级别的模块,因此请确保它在现场:
-右键单击工作表的“选项卡”(位于“ B2”的位置),然后单击View Code
。
-在此处粘贴代码
-根据需要进行调整。
现在,每次单击B2
时,所有现有图表都将被删除,并在其中添加一个新图表。显然,您需要对此进行调整。
我认为您仍然需要考虑一些事项;例如,您的代码使用.Selection
作为源数据...,但是您希望代码在.Selection
更改到单个单元格时专门运行。 B2
)...