在没有范围引用的VBA中绘制不连续的序列,可以通过以下步骤实现:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim chartRange As Range
Dim chartObject As ChartObject
' 检查选择的范围是否为空
If Not Intersect(Target, Me.UsedRange) Is Nothing Then
' 创建一个新的图表范围,包含选择的单元格
Set chartRange = Target
' 添加其他不连续的范围到图表范围
Set chartRange = Union(chartRange, Me.Range("A1:A5"))
Set chartRange = Union(chartRange, Me.Range("C1:C3"))
' 创建一个新的图表对象并将其添加到工作表
Set chartObject = Me.ChartObjects.Add(Left:=100, Top:=100, Width:=400, Height:=300)
' 设置图表的数据源范围
chartObject.Chart.SetSourceData Source:=chartRange
' 设置图表的类型
chartObject.Chart.ChartType = xlColumnClustered
End If
End Sub
在上述代码中,我们首先检查选择的范围是否为空,然后创建一个新的图表范围并将选择的单元格添加到其中。接下来,我们通过使用Union
函数将其他不连续的范围添加到图表范围中。然后,我们创建一个新的图表对象并将其添加到工作表中。最后,我们设置图表的数据源范围和类型。
现在,当您在工作表中选择范围时,将自动绘制一个包含选择范围和其他不连续范围的图表。您可以根据需要修改代码中的范围和图表类型。
领取专属 10元无门槛券
手把手带您无忧上云