我在用 VBA 复制形状时遇到了这个奇怪的现象,我不知道如何处理:
当使用常规 .Copy 函数复制单元格和形状时,形状会在高度方向上略微压缩。他们的位置似乎或多或少是正确的。
我将 VBA 7.0 与 Excel 2010 一起使用。
我真诚地希望有人可以帮助我。我花了很多时间查找有关此主题的信息!
代码:
Sub RenderOverview()
' Clear Worksheet
Sheets("ModelOverzicht").Cells.Clear
Sheets("ModelOverzicht").DrawingObjects.Delete
' Copy SINGLE SECTION
Sheets("Enkele Sectie").Range("A1:AM29").Copy
Sheets("ModelOverzicht").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
最佳答案
我来这里是因为我遇到了同样的问题,“user1759942”的答案并没有解决我的问题。经过一番调查,我能够确定图表大小变化的原因。
我的原始工作表(我复制所述图表的位置)缩放为 80%,而我的目标工作表(我粘贴复制的图表的位置)没有缩放(100%)。
之后 将两个工作表更改为相同的缩放值 (80%) 并在粘贴复制的图表 之前激活目标工作表,问题就解决了。我什至不需要像“user1759942”建议的那样更改“格式形状”-属性-“移动但不调整大小”(顺便说一句:这是在VBA/VBscript中通过设置完成的:[Worksheet].ChartObjects(1 ).Placement = xlMove ' xlMove = &H2)。
也许这是对“user3250519”问题的回答。
关于Excel VBA : Height of shapes change after copy to sheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21441706/