2011-07-29 113 views
2

在Excel VBA细胞,我想这样做:获取从地址

Dim cellAddress As String, cell As Range 
Set cellAddress = "=Sheet1!A7" 
Set cell = GetCellFromAddress(cellAddress) 

我怎么能以最好的方式实施“GetCellFromAddress”?我知道我可以解析cellAddress,但这似乎有点尴尬...

我使用Excel 2007,如果它很重要。

+0

看来我要重新写的范围内的功能?我真的不明白这一点。 –

回答

5
Dim cellAddress As String, cell As Range 
cellAddress = "=Sheet1!A7" 

Set cell = Range(cellAddress) 

MsgBox cell.Address(True, True, xlR1C1, True) 

这将显示文本一个消息:

--------------------------- 
Microsoft Excel 
--------------------------- 
[Book1]Sheet1!R7C1 
--------------------------- 
OK 
--------------------------- 

玩得开心!

+1

+1('= Sheet'中的'='也是可选的) –

1

我认为freerider的答案已经足够好了,并且我赞成了。

如果你想看到他的解决方案实现为GetCellFromAddress

Function GetCellFromAddress(cellAddress As String) As Range 
    Set GetCellFromAddress = Range(cellAddress) 
End Function 

Sub test() 
    Dim cellAddress As String, cell As Range 
    cellAddress = "=Sheet1!A7" 

    Set cell = GetCellFromAddress(cellAddress) 
    MsgBox cell.Address(True, True, xlR1C1, True) 
End Sub