2016-09-14 55 views
0

我只是想知道這是否可以做到沒有循環 - 在我的Excel表格中,比如Range("A1:C10")我有文本連接公式,一旦連接,創建真正的Excel功能。Excel VBA - 將字符串公式轉換爲單元格範圍內的Excel計算

作爲一個愚蠢的例子,假設我在單元格A1以下幾點:

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

現在,我知道在VBA我可以做沿着任何一個特定的細胞下面的內容:

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

它會將我的文本公式轉換爲Excel公式並對其進行評估。

現在,我很好奇的是,是否有辦法說,例如:

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

沒有通過每個細胞循環獨立?

而且,我不能用INDIRECT()的,不幸的是,我的公式引用到關閉工作簿:/

任何想法?

+0

你爲什麼不想要循環?速度? – CRUTER

+0

'C2'和'C3'的範圍是多少? 1到10? – Slai

+1

嘗試'.Value'而不是'.Text' –

回答

1

Range.Text包含字符串表示單元格的值。該實際計算值(我懷疑是你追求的)使用Range.Value訪問 - 試試這個:

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

不知道這是你正在嘗試做的,但例如,如果你使用:

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

則相對引用將自動調整:

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

不幸的是,這不是我正在尋找的 - 我的公式非常複雜,只是一個簡單的例子來顯示我的意思是字符串連接...... @MatsMug得到了正確的答案。但感謝您的輸入! –