将外部单元格地址转换为vba中的范围
我在单元格A1中有一个string,它是外部单元格的单元格地址(即另一个工作簿),
'[data transfer utility.xlsb]Sheet1'!$B$5
在vba我想创build一个范围对象, myRange
,将对应于存储在单元格A1中的地址。
我尝试了各种解决scheme,但都没有工作。
VBA:
函数引用(strAddress As String)作为范围 Dim intPos As Integer,intPos2 As Integer Dim strWB As String,strWS As String,strCell As String intPos = InStr(strAddress,“]”) strWB = Mid(strAddress,2,intPos - 2) intPos2 = InStr(strAddress,“!”) strWS = Mid(strAddress,intPos + 1,intPos2 - intPos - 2) strCell = Mid(strAddress,intPos2 + 1) 参考=工作簿(strWB).Worksheets(strWS).Range(strCell) 结束function
在VBA中:
ExecuteExcel4Macro("'C:\[Book1.xlsx]Sheet1'!" & Range("A1").Address(, , xlR1C1))
在Excel中:
='C:\[Book1.xlsx]Sheet1'!$A$1