2017-02-13 33 views
1

改寫到相同的範圍我想從不同範圍閱讀,其中有通過在這些細胞中的一些式計算出的值,在VBA和與已經值覆蓋這些範圍保存以便自動擺脫單元格中的公式。從不同範圍讀入陣列和VBA

的代碼如下:

allValues = Range("AR8:AW8,AR10:AW10,AR12:AW24,AR26:AW52,AR54:AW61,AR64:AW87,AR89:AW94,AR96:AW96,AR98:AW104,AR106:AW106,AR108:AW110,AR112:AW122,AR125:AW140,AR142:AW162,AR164:AW192,AR194:AW196,AR198:AW198,AR200:AW202,AR204:AW218,AR220:AW230,AR232:AW232,AR234:AW240").Value 

Range("AR8:AW8,AR10:AW10,AR12:AW24,AR26:AW52,AR54:AW61,AR64:AW87,AR89:AW94,AR96:AW96,AR98:AW104,AR106:AW106,AR108:AW110,AR112:AW122,AR125:AW140,AR142:AW162,AR164:AW192,AR194:AW196,AR198:AW198,AR200:AW202,AR204:AW218,AR220:AW230,AR232:AW232,AR234:AW240")= allValues 

對於結膜範圍這樣的想法制定了,但這些都沒有。

我很欣賞任何輸入。

+0

你需要存儲在存儲器中的值或者你只是想從公式轉換爲值? –

+0

我只是試圖取代由相應數值的公式,而無需使用一個for循環。我不需要將它們存儲在內存中。謝謝你讓我清楚! – user3565521

+0

你會碰到很多的處理多項選擇問題。除非您選擇連續的範圍,否則我不相信在這種情況下您可以避免使用for循環。您是否考慮將公式更改爲整個工作表的值?或者有什麼特別的原因讓你不願意使用for循環? –

回答

1

隨着多區域範圍,重複的領域:

Dim r As Range 
For Each r In Sheet1.Range("AR8:AW8, AR10:AW10, ..., ...").Areas 
    r.Value = r.Value 
Next 
+1

尼斯的答案。比我的好多了! – CallumDA

+1

爲需求量身打造,簡直輝煌。非常感謝你! – user3565521

+0

@ user3565521不客氣:) –

0

我會去像如下:

With Range("AR8:AW8,AR10:AW10,AR12:AW24,AR26:AW52,AR54:AW61,AR64:AW87,AR89:AW94,AR96:AW96,AR98:AW104,AR106:AW106,AR108:AW110,AR112:AW122,AR125:AW140,AR142:AW162,AR164:AW192,AR194:AW196,AR198:AW198,AR200:AW202,AR204:AW218,AR220:AW230,AR232:AW232,AR234:AW240") 
    .Value = .Value 
End With 
+1

我測試了這個方法,發現它只保留了第一個值 - 並非所有的獨立值。你也一樣嗎? – CallumDA

+0

我很欣賞你的意見 – user3565521