Excel VBA – 将string公式转换为单元格范围内的Excel计算

我只是想知道这是否可能没有循环 – 在我的Excel表格中,例如, Range("A1:C10")我有文本连接公式,一旦连接,创build真正的Excelfunction。

作为一个愚蠢的例子,假设我在单元格A1中有以下内容:

 A1: ="=Sum(D"&C2&":E"&C3&")" 

现在,我知道在VBA中,我可以为任何一个特定的单元格做下面的事情:

 Range("A1").Formula = Range("A1").Text 

它会将我的文本公式转换为Excel公式并对其进行评估。

现在,我很好奇的是,是否有办法说,例如:

 Range("A1:C10").Formula = Range("A1:C10").Text 

没有单独循环每个单元格?

此外,我不能使用INDIRECT()作为,不幸的是,我的公式引用封闭的工作簿:/

有任何想法吗??

Range.Text包含单元格值的string表示forms。 实际计算的值(我怀疑是你之后)使用Range.Value访问 – 试试这个:

 Range("A1:C10").Formula = Range("A1:C10").Value 

不知道这是你想要做什么,但如果你使用:

 Range("A1:C10").Formula = "=Sum(D1:E1)" 

那么相对的参考将被自动调整:

 A1: =Sum(D1:E1) A2: =Sum(D2:E2) B1: =Sum(E1:F1) ... etc.