Vba 单击表格单元格以生成图表

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

在本例中,如何通过单击表格单元格(范围为“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

你没有给出太多细节,但这应该让你开始

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时特别运行

那段代码能正确生成你的图表吗?不,它似乎不起作用。我将对此进行修补。泰姆