在VBA代码中使用代码相对引用。
在传统的代码中,通常使用像下面这样的代码来修改形状的大小和位置:
ActiveSheet.Shapes("MyShape").Height = 100
ActiveSheet.Shapes("MyShape").Width = 200
ActiveSheet.Shapes("MyShape").Left = 50
ActiveSheet.Shapes("MyShape").Top = 50
但是,这种方法是相对于活动工作表(ActiveSheet
)的,而不是相对于形状本身的。因此,如果在不同的计算机上打开具有不同大小和位置的工作表,代码可能会出现错误。
相对引用意味着使用如下所示的代码:
Dim myShape As Shape
Set myShape = ActiveSheet.Shapes("MyShape")
myShape.Height = 100
myShape.Width = 200
myShape.Left = 50
myShape.Top = 50
请注意,这里在首次引用“myShape”时使用了“Set”关键字。这将“myShape”设置为 Shape
对象,其中包含“MyShape”形状的所有属性。接下来,可以相对于该形状引用这些属性,而不用担心工作表的位置或大小。
使用相对引用可以确保代码在所有计算机上以一致的方式运行,而不必担心形状的位置和大小可能会发生变化。