Vba 单击表格单元格以生成图表
在本例中,如何通过单击表格单元格(范围为“A2”)生成图表 到目前为止,我们已经做到了:Vba 单击表格单元格以生成图表,vba,excel,Vba,Excel,在本例中,如何通过单击表格单元格(范围为“A2”)生成图表 到目前为止,我们已经做到了: Sub ClickCell() Dim my_range As Range Set my_range = Selection ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=my_range Rang
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
你没有给出太多细节,但这应该让你开始
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所在工作表的选项卡,然后单击查看代码。
-将代码粘贴到那里
-根据需要进行调整
现在,每次单击B2,所有现有图表都将被删除,并在其位置添加一个新图表。很明显,你需要根据自己的需要调整它
我认为有些事情你还需要考虑;例如,您的代码使用.Selection作为源数据。。。但是您希望代码在.Selection更改为单个单元格B2时特别运行 那段代码能正确生成你的图表吗?不,它似乎不起作用。我将对此进行修补。泰姆