Excel组对象在复制时会调整大小

时间:2018-07-07 05:28:38

标签: excel vba excel-vba

我正在将图形图片粘贴到excel 2016的单词中(只是我在2008年才意识到此问题,因此它可能与所有最近的excel版本有关)。

我有一个图形对象,它是一个由图表和文本框组成的组。 我在屏幕上的excel演示文稿文档中使用了该文档,在该文档中,我们确定了合适的方案(基于图形/组),一旦对方案感到满意,便将该组粘贴到单词中以对该特定方案进行最终演示。

我将其粘贴为图片,或者当放入单词时,各种元素具有不同的缩放比例和相对位置。

我希望此图形/组/对象精确地覆盖电子表格中的一系列单元格。

列宽和行高可能会随着屏幕显示的变化而变化,因此在复制时,我会调整其大小以使其在页面上看起来整洁。

这是出于演示的原因,因此在各种情况下吐痰时都很好看(当时可以直接查看电子表格)。

在复制之前,它会精确覆盖范围。复制后,它会由于某些原因调整大小并移动。

代码在excel中。当我使用这个

Sub CopyGraph()
With Sheets(gcstrSheet)
.Shapes.Range(Array("Group 3")).Select
Selection.Copy
.Shapes.Range(Array("Group 3")).width = .Range("CO51").left - .Range("BY51").left
.Shapes.Range(Array("Group 3")).height = .Range("BY96").top - .Range("BY51").top
.Shapes.Range(Array("Group 3")).top = .Range("BY51").top
.Shapes.Range(Array("Group 3")).left = .Range("BY51").left
.Range("BY51:CN95").CopyPicture xlScreen, xlPicture '<this somehow makes it resize
End With
End Sub

形状总是移动到正确的位置,并且尺寸也正确,直到复制的最后一行。

工作周围将固定形状位置LH侧的线更改为

.Shapes.Range(Array("Group 3")).left = .Range("BY51").left + 12

距离应该在哪个位置更右。因此,当它跳到左侧时,它就在正确的位置。糟透了,但是可以用(无论如何在我的电脑上)。

对此轻描淡写和采取更加雄辩的解决方案将非常有帮助。。在此先感谢

0 个答案:

没有答案