是否可以使用形状公式作为单元格引用?

我正在使用Excel 2007.我有一个包含许多形状的工作表。 每个形状链接到另一个电子表格上的单元格(即“= Data!$ F $ 5”),以便显示每个形状中的某些文本。

现在,我想用形状中的公式作为起点来引用工作表中的其他单元格。 这个背后的想法是当用户点击形状以在消息框中给他们附加信息时运行一个macros。

我试着从“ActiveShape.DrawingObject.Formula”做一个string,但没有任何成功。 有谁知道如何做到这一点或build议另一种方式来完成这一点?

任何帮助是极大的赞赏。

在您分配给形状的macros中。 您可以使用ActiveSheet.Shapes(Application.Caller).name获取形状的名称,然后使用ActiveSheet.Shapes.Range(Array(name))来获取形状参考。 然后你可以select它并使用Selection.formula获得公式

复制这个并粘贴到你的macros的形状,你可以看到它是如何工作的:

 Dim name As String Dim formula As String name = ActiveSheet.Shapes(Application.Caller).name ActiveSheet.Shapes.Range(Array(name)).Select formula = Selection.formula MsgBox formula 

注意:我没有尝试,只是做formula = ActiveSheet.Shapes.Range(Array(name)).formula但vba是不高兴与我。 所以我必须坚持.Select and Selection.formula