【问题标题】:VBA Chart 3D RotationVBA图表3D旋转
【发布时间】:2013-05-29 20:30:40
【问题描述】:

我想知道是否有人可以帮助我处理我正在处理的 VBA 宏。我只是选择一个未格式化的图表并进行一些简单的格式化。默认情况下,它是一个常规的饼图。我正在尝试将其制成 3D 饼图并将 X 和 Y 旋转分别更改为 50 度和 30 度。我已经使用 Excel 录制了宏,但由于某种原因,3D 旋转不起作用。所有其他格式都完美无缺;只有这不起作用。关于我应该如何进行的任何想法?谢谢

Sub Macro2()
ActiveSheet.ChartObjects("Topic Breakdown by Priority").Activate
ActiveChart.ChartType = xl3DPieExploded
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Topic Breakdown by Priority").ThreeD.RotationX = -50
ActiveSheet.Shapes("Topic Breakdown by Priority").ThreeD.RotationY = 30
End Sub

【问题讨论】:

  • 您的图表是 3D 还是 2D。您需要将其设为 3D 才能进行旋转...
  • 图表是 3D,我已经设置好了。由于某种原因,它仍然不会使用宏旋转。
  • 如果您在图表区域内右键单击是否启用Rotation 3D 选项?
  • 是的。我能够访问 Rotation 3D 菜单并完美地手动旋转图表。但是当我运行录制的宏时,它似乎没有进行旋转。
  • 我正在经历同样的事情。形状只是从 VBA 命令旋转,局部窗口反映了 0 的值 RotationXRotationY 属性,尽管之前手动将它们设置为 -50 和 @ 987654327@,分别。

标签: excel vba charts formatting


【解决方案1】:

您需要设置对图表的正确引用。根据您的代码,它应该是这样的:

ActiveSheet.Shapes("Topic Breakdown by Priority").Chart.ChartArea.Format.ThreeD.RotationX = -50
ActiveSheet.Shapes("Topic Breakdown by Priority").Chart.ChartArea.Format.ThreeD.RotationY = 30

【讨论】:

  • 太棒了!又一个宏记录器惨遭失败的案例:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
相关资源
最近更新 更多