我无法在特定单元格的左角精确定位形状。该列的距离越远,它得到的越坏,列FP比A列离得越远。
我正在使用Excel 2016。
这里有一个非常简单的代码,它演示了我的问题。
Sub test()
Dim x As Double
Dim y As Double
x = Range("z1").Left
Selection.ShapeRange.Left = x
y = Selection.ShapeRange.Left
End Sub变量的值为x= 596.25和y=596.549。
X和y的值应该相等,因为我将形状的左角强制为x值。为什么不呢?
代码和变量值

发布于 2018-08-10 18:32:02
试试这个,让我知道是怎么回事!这将只适用于您选择的形状,如果您需要通过引用特定形状的名称来移动它们,请告诉我。
Sub test()
Dim x As Double
Dim y As Double
x = Range("Z1").Left
y = Range("Z1").Top
With Selection.ShapeRange
.Left = x
.Top = y
End With
End Sub发布于 2018-08-10 18:32:50
可以通过以下方式选择特定的单元格:
With ActiveSheet.ChartObjects(4)
.Left = Range("L22").Left
.Top = Range("L22").Top
End With您需要弄清楚您正在使用的是哪种形状#(示例使用4)
发布于 2018-08-10 19:31:38
我终于找到了从C栏开始的问题。经过多次测试,但没有成功,我最后用一个小增量改变了B列的宽度,问题得到了解决。
我不知道为什么,也许是Excel的小故障。
谢谢所有想帮我的人。
https://stackoverflow.com/questions/51792006
复制相似问题