Vba 被宏放置的图片在放置时会慢慢获得“underlap”吗?
我有一个宏,虽然仍然有一个奇怪的错误,我不断得到,打开,我目前的问题是关于放置的图像 显示放置在图片单元格中后的图片。你越往下走,下垫越差,我不知道为什么 相关的VBA脚本是:Vba 被宏放置的图片在放置时会慢慢获得“underlap”吗?,vba,excel,Vba,Excel,我有一个宏,虽然仍然有一个奇怪的错误,我不断得到,打开,我目前的问题是关于放置的图像 显示放置在图片单元格中后的图片。你越往下走,下垫越差,我不知道为什么 相关的VBA脚本是: With ActiveSheet.Shapes(i + 13) Debug.Print "Cell " & rng.Address & " | Cell Range: " & rng.Top & " " &
With ActiveSheet.Shapes(i + 13)
Debug.Print "Cell " & rng.Address & " | Cell Range: " & rng.Top & " " & rng.Left & " " & rng.MergeArea.Height & " " & rng.MergeArea.Width
.LockAspectRatio = False
.Top = Int(rng.Top + 1)
.Left = Int(rng.Left)
.Height = rng.MergeArea.Height
.Width = rng.MergeArea.Width
Debug.Print "Picture: " & .Top & " " & .Left & " " & .Height & " " & .Width
End With
为了避免我预期的一些评论:是的,设置了rng。就在这之前。下面的控制台输出显示。是的,相应的形状是正确的-从模板开始,这张纸上有13个形状
调试.打印调用的一些控制台输出
小注:添加了.Top=IntTop.rng+1和.Left=Intrng.Left调用,希望它们能够减轻underlap的一些错误-它们没有,我只是没有删除它们
图片单元格和图片本身如何具有相同的测量值和放置值,但仍然无法对齐
解决了的
其中一条评论建议将缩放设置为常规,这就解决了这个问题。我不知道为什么,但我很高兴我能从这个问题上继续下去。我建议不要进行舍入或整数运算。。。增量非常小,仅由于浮点运算。请尝试将页面缩放更改为100%。删除int,因为它也使用小数来放置。删除+1也即使没有对.Top和.Left的Int调用,单元格仍然具有underlap,只是现在在记录的属性中绝对没有差异。我只是不明白它怎么能说它有相同的位置、高度和宽度,但仍然是关闭的。@Rory,我刚刚看到你的评论。它把它修好了。。但是为什么呢?
Cell $M$134 | Cell Range: 2038.5 519 180 243.75
Picture: 2039 519.0001 180 243.75
Cell $A$150 | Cell Range: 2278.5 0 180 243.75
Picture: 2279 7.874016E-05 180 243.75
Cell $G$150 | Cell Range: 2278.5 259.5 180 243.75
Picture: 2279 259.0001 180 243.75