有谁知道如何从例如该样本单元格公式如下字符串:如何获得仅从单元格公式的WS名称引用
公式: =主A1:A10
通缉字符串: 主要
我想使用VB.net或VBA来做到这一点。我可以做什么的可能方法是什么?我是否应该为此使用字符串函数并应用使其获得所需输出的条件?或者在vb.net的excel interop中有函数会让我这样做?
我只是需要一些小的代码片段。我会感谢您的帮助!
有谁知道如何从例如该样本单元格公式如下字符串:如何获得仅从单元格公式的WS名称引用
公式: =主A1:A10
通缉字符串: 主要
我想使用VB.net或VBA来做到这一点。我可以做什么的可能方法是什么?我是否应该为此使用字符串函数并应用使其获得所需输出的条件?或者在vb.net的excel interop中有函数会让我这样做?
我只是需要一些小的代码片段。我会感谢您的帮助!
你可以使用这个我认为这将工作:
dim SheetName as string
SheetName = mid(YourSheet.Range("A1").FormulaR1C1.split("!")(0),2)
if InStr(SheetName, "(") <0 then
SheetName = split(SheetName,"(")(1)
end if
我希望这种变化将满足你的追求。
为了让你开始,假设A1包含你的公式。
Sub test()
Dim rng As Excel.Range
Set rng = Excel.Range("$A$1")
Debug.Print rng.Precedents.Worksheet.Name
End Sub
Precedents
为您提供了该小区所依赖的Range
。这可能是也可能不是连续的。 Range
对象具有Worksheet
属性(将其视为Range
的父级),Name
返回该工作表的名称。
优雅地说,这不依赖任何字符串解析。如果公式依赖于多个工作表,则需要增强此功能,但这会让您开始。
这对我来说应该是一个好的开始,会研究这个功能。谢谢。 – TDL 2014-09-20 07:23:02
谢谢。如果我的公式是= SUM(main!A1:A10),它并不仅仅是主要的。它包含SUM(字符串。 – TDL 2014-09-20 07:22:21