【发布时间】:2015-03-29 06:43:44
【问题描述】:
我不确定这样的事情是否可行,我的同事告诉我,这是不可能的,因为字符串与公式的性质不同。 我要取字符串:
'"=" & ValRange.offset(0,0).address
在我的 VBA 例程中声明了一个范围并将其转换为公式。 在我的例程中,我有以下代码:
Sub GetRange()
Dim strSource As String
Dim HomeRange As Range
Dim ValRange As Range
Set ValRange = Range("k1")
Set HomeRange = Range("e6")
strSouce = HomeRange.Value
strSource = Replace(strSource, """", "")
Range("e7") = strSource
End Sub
如您所见,我已尝试删除字符,但它似乎不起作用(我理解目前的代码是它会删除所有引号但只是想用作示例。关于将其转换为公式的任何想法很感激。马特
【问题讨论】:
-
你想把这个字符串转换成什么公式? Excel 公式还是 VBA 公式?
-
我的想法是,当公式在 vba 中解析时,就像您在 VBA 例程中直接使用 strSource = "=" & ValRange.offset(0,0).address 一样,它会认识到 ValRange 是声明变量并解析确定。基本上,似乎在开始时的附加引号 ' 是问题所在。只是想知道是否有一些 replace(strSource,,) 命令可以将单元格字符串更改为 strSource = "=" & ValRange.offset(0,0).address。而不是 strSource = ""=" & ValRange.offset(0,0).address"
-
只是为了确认我正在尝试获取单元格中的地址而不是值。
-
什么单元格的地址?我真的不明白你想要做什么的细节。请具体说明您想要做什么。提供具体的例子而不是笼统的。您要转换的唯一字符串是否包含 VBA 偏移函数并返回地址?
-
我怀疑,为了完成您想做的事情,您需要实际编写修改或创建新 VBA 代码的代码。这是高级编程,还需要更改信任中心设置以允许这样做(某些计算机病毒也使用这种技术)。有关详细讨论,请参阅 Chip Pearson 的Progamming in the VBA Editor。