【问题标题】:Excel CheckBox Select Range of ChartExcel CheckBox 选择图表范围
【发布时间】:2013-06-26 23:51:07
【问题描述】:
Option Explicit

Public PlotName As String
Public PlotRange As Range

Sub Tester()
Range("TCKWH.V.1").Select
AddPlot ActiveSheet.Range("C9:C13,D9:O13")
End Sub

Sub AddPlot(rng As Range)
 With ActiveSheet.Shapes.AddChart
    PlotName = .Name
    .Chart.ChartType = xlLineMarkers
    .Chart.SetSourceData Source:=Range(rng.Address())

.Chart.HasTitle = True
.Chart.ChartTitle.Text = Range("C9")

End With
Set PlotRange = rng
Application.EnableEvents = False
rng.Select
Application.EnableEvents = True
End Sub

Sub RemovePlot(rng As Range)
If Not PlotRange Is Nothing Then
    If Application.Intersect(rng, PlotRange) Is Nothing Then
        On Error Resume Next
        rng.Parent.Shapes(PlotName).Delete
        On Error GoTo 0
    End If
End If

End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
RemovePlot Target
End Sub

我有这段代码可以根据通过复选框接受的信息创建图表。但是您未选择的任何帐户都显示为“空白”图例条目 是否有删除“空白”图例条目的宏代码?

【问题讨论】:

  • 您正在设置 Source Range:=Range("C9:O13") 。您需要使用Series.XValuesSeries.ValuesSeries.Name 属性添加/删除Series 数据,而不是设置Source 数据。

标签: vba excel excel-2010 excel-2013


【解决方案1】:

在表格下方创建另一个表格。然后将复选框链接到第一个表格下方的表格。然后在 True/False 之后输入=IF($B10=TRUE,C3,"")

之后将 AddPlot ActiveSheet.Range("C9:C13,D9:O13") 替换为底部表格的范围。

【讨论】:

  • 新问题。关于图例上的红线和绿线,有一种方法可以在未选择变量时使其消失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多