gpt4 book ai didi

vba - 如何使用 vba 将旋转的形状移动到 Excel 2010 中的特定位置

转载 作者:行者123 更新时间:2023-12-03 07:39:36 26 4
gpt4 key购买 nike

我编写了一些自动创建图表的 VBA 代码。该图表上的轴之一不使用普通标签,而是使用图形。我已将图形存储为图像,并使用 .Copy 和 .Paste 方法将此图像的副本复制到图表上。

这就是令人困惑的地方。我需要旋转图像以使其与轴对齐(使用 .rotation 属性)。但是当我设置 .top 和 .left 属性时,形状并没有达到我预期的效果。事实上,将属性设置为 0 和 0 也没有达到我的预期。我尝试更改在图像对象上设置属性的方式的顺序,但它仅出现在不同(错误)的位置。

我确定我错过了 VBA/Excel 如何相对于我设置的顶部和左侧属性来放置对象的一些重要方面。基本上我的目标是使图表左侧的图像与绘图区域的高度具有相同的宽度(因为图像被旋转,我推测这将使其大​​小相同)。

此代码不起作用:

Sheets(ImageSheet).Shapes("agreement").Copy
c.Chart.Paste
c.Chart.Shapes(1).Rotation=270
c.Chart.Shapes(1).width = c.Chart.PlotArea.height
c.Chart.shapes(1).left = 5
c.Chart.Shapes(1).top = c.Chart.PlotArea.top

我也尝试过这段代码

c.chart.Shapes(1).top = c.chart.PlotArea.top + c.Chart.PlotArea.height

因为我认为它可能在不旋转时将“顶部”计算为图像对象的左上角(旋转 270 度使该点位于应与绘图区域底部对齐的位置) )。但这也没有达到我的预期。

该图像是一个细长的矩形,充当轴的标签。该图表最终将如下所示:/image/kRhlK.jpg轴标签图像将类似于 /image/GakG0.jpg

我在这里缺少什么?

最佳答案

您是否可以将图表对齐到形状可以在单元格上对齐的位置?

如果是,那么这里有一个建议:-

  • 您可以将形状放置到单元格中。然后调整大小到您需要的大小。并旋转。
  • 然后更改其在图表上显示的bring front属性。
  • 下一个 图表形状

PS:我录制了一个宏。不过,最好您能向我们展示您的问题的具体图片(=您的工作表/图表/图像应该是什么样子)。

关于vba - 如何使用 vba 将旋转的形状移动到 Excel 2010 中的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14066962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com