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.