VBA如何通过外部地址仅返回工作表名称和单元格地址?

Lin*_*iel 1 excel vba

我只需要返回工作表和单元格地址。这段代码:

SthRange.Adddress(external:=True)
Run Code Online (Sandbox Code Playgroud)

将返回工作簿名称、工作表和单元格地址。如何仅返回工作表和单元格?

Aik*_*ken 5

由于该Range.Address函数始终返回格式为字符串的字符串,因此[Workbook]Worksheet!range您可以使用字符串函数通过修剪字符串前面的所有内容(包括第一个 ] 字符)来修剪工作簿,如下所示。

Dim strAddress As String
strAddress = SthRange.Address(External:=true)
strAddress = Right(strAddress, Len(strAddress)-InStr(strAddress, "]"))
Run Code Online (Sandbox Code Playgroud)

如果您打算定期执行此操作,您可以向您的 VBA 项目添加一个快速功能,如下所示

Public Function SheetAndRange(ByVal FullAddress As String) As String
    SheetAndRange = Right(FullAddress, Len(FullAddress) - InStr(FullAddress, "]"))
End Function
Run Code Online (Sandbox Code Playgroud)

这将使您得到您想要的结果,如下所示:

strSomeString = SheetAndRange(SthRange.Address(External:=true))
Run Code Online (Sandbox Code Playgroud)