【问题标题】:Adding charts using 2 dropdowns and whose values are in a different sheet使用 2 个下拉列表添加图表,其值在不同的工作表中
【发布时间】:2017-06-03 20:38:14
【问题描述】:

大家好,我是新来的,如果问题的格式有误,请见谅。无论如何,在这里我正在尝试根据下拉列表中的变化创建图表(具体为 2 个下拉列表)。我收到错误“对象'_Chart'的方法'ChartType'失败”和工作表上的空白图表。

Sub DropDown27_Change()
Dim a As Range, b As Range
Set a = Sheet8.Range("I11")
Set b = Sheet8.Range("K11")
If a.Value = 1 And b.Value = 1 Then
 ActiveSheet.Shapes.AddChart.Select
 ActiveSheet.Shapes(1).Top = 10
 ActiveSheet.Shapes(1).Left = 10
 ActiveChart.ChartType = xlColumn
 ActiveChart.PlotArea.Select
 ActiveChart.SetSourceData Source:=Range("EquityC")
 ActiveChart.HasTitle = False
 End If
End Sub

【问题讨论】:

  • 1 图表在哪里?哪个表? 2 范围(“EquityC”)在哪里?哪个表? 3 下拉菜单在哪里?哪张纸?
  • 1.我正在尝试在 sheet23 中使用 VBA(我已经更新了上面的代码)制作图表 2. EquityC 在 sheet8 3. 两个下拉菜单都在 sheet23
  • 你说你没有得到错误,现在我看到你得到了错误
  • 在更新代码之前我没有得到任何信息。现在我做了一个错误出现了
  • 现在担心了。我看到它现在已排序:)

标签: vba excel


【解决方案1】:

对于 ChartType 而不是 xlColumn 使用 xlColumnClustered

【讨论】:

  • 它现在可以工作了。谢了哥们。还有一个问题,现在每当我单击下拉列表中的特定值时,它每次都会创建图表,而我希望它仅在我更改下拉列表中的值时更改。我希望我解释得很好。
  • 据我了解,您希望在下拉值更改时更新图表,但 ActiveSheet.Shapes.AddChart.Select 行每次都会创建图表,因此需要进行修改。您可以检查图表是否存在并且不创建但在这种情况下选择它If (ActiveSheet.Shapes(1)) Is Nothing Then ActiveSheet.Shapes.AddChart.Select End If ActiveSheet.Shapes(1).Top = 10 ActiveSheet.Shapes(1).Left = 10 ActiveSheet.Shapes(1).Select ActiveChart.ChartType = xlColumnClustered
  • 'ActiveSheet.Shapes(1).Select ActiveChart.ChartType = xlColumnClustered' 我在“对象变量或未设置块变量”这一行出现错误
  • 此代码将在一行ActiveSheet.Shapes(1).SelectActiveChart.ChartType = xlColumnClustered 将在下一行
  • 'ActiveChart.ChartType = xlColumnClustered' 行出现同样的错误
猜你喜欢
  • 2014-10-28
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
  • 2020-03-04
  • 1970-01-01
相关资源
最近更新 更多