【发布时间】:2015-10-30 17:38:49
【问题描述】:
我在 Windows 7 上运行 Excel 2010。
我在工作表上有四个图表。我要做的是选择一个图表,然后单击一个按钮以打开“格式轴”对话框。我在网上找到以下代码打开对话框。如果我选择一个图表,然后从工具栏中运行代码(开发人员选项卡,宏,选择宏,按“运行”),它运行良好。
Sub formatXAxis1()
ActiveChart.Axes(xlCategory).Select
Application.CommandBars.ExecuteMso "ChartFormatSelection"
End Sub
我遇到的麻烦是当 VBA 脚本被分配给一个按钮时。如果我使用形状作为按钮,我会得到“运行时错误‘91’:对象变量或未设置块变量”。如果我使用 ActiveX 命令按钮,我会得到同样的错误。但是,使用表单控件按钮,它可以按预期工作。此解决方案的唯一问题是无法更改按钮的背景颜色,因此与工作表上的其他宏调用按钮相比,它显得格格不入。
我猜在前两种情况下(形状和 ActiveX 按钮),当我按下按钮时,VBA 会丢失或丢失图表选择——即使图表仍然显示在屏幕上。有没有办法解决这个问题,还是我做错了什么?
【问题讨论】:
-
一个笨重的版本只是添加四个按钮,每个按钮对应每个图表。之后您可以通过 Chart ID 调用它。
-
您可以将宏分配给任何形状,包括文本框,不是吗?这些可以格式化。
-
我试过文本框。不幸的是,它们的行为就像我原来的博客中描述的规则形状。