Excel Shape对象设置公式

图形可以通过以下方式定义公式:

1、直接在图形上编辑文本,直接写“=A1”,就可以让此图形上使用A1相同的值;

2、VBA中实现方式:

ActiveSheet.Shapes(“右箭头 4”).DrawingObject.Formula = “=A1”

公式内容只能是普通的一个Cell名,无法使用其它形式的公式。设置成公式后,此图形的右键将无法“编辑文本”了。

例子代码:

Sub T1()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        'formula
         shp.DrawingObject.Formula = "=E1" 
         Debug.Print shp.DrawingObject.Formula
         Debug.Print shp.DrawingObject.Text
    Next
End Sub

Sub T2()
    ActiveSheet.Shapes("右箭头 4").DrawingObject.Formula = "=A1"
    Debug.Print ActiveSheet.Shapes("右箭头 4").DrawingObject.Text
End Sub