2017-03-06 80 views
1

我想弄清楚如何一次更新引用連續列的單元格範圍。基本上,我會用一個特定的單元格公式的代碼是這樣的:使用公式中的另一個範圍更新一系列公式

Range("C10").Formula = "SUMIF('Site Data '!$CR:$CR,$B$1,'Site Data '!$CU:$CU)" 

我想這個公式從C10到去:C25和$ CU從CU去:DJ。我似乎無法想出一種方法來做到這一點,而不是爲每個公式創建一個新行。

我只是做每一個,因爲它只有16,但這是我需要更新的多組範圍之一。

+1

貴'Sites'工作真的有一個尾隨空格在它的名字? – Jeeped

+0

哈哈是的,但這不是我的問題最少。但我同意,我應該儘快更改它,因爲我必須更新我創建的任何代碼。我今天早上注意到它,並不確定它是如何發生的(超出用戶錯誤)。 –

回答

2

循環遍歷行,將迭代var添加到.Columns函數並檢索地址以連接到公式中。

Dim i As Long 

With ActiveSheet 
    For i = 10 To 25 
     .Cells(i, "C").Formula = "=SUMIF('Site Data '!$CR:$CR, $B$1, 'Site Data '!" & _ 
      Worksheets("Site Data ").Columns(89 + i).Address & ")" 
    Next i 
End With 

順便說一句,這個公式也可以寫成,

=SUMIF('Site Data '!$CR:$CR, $B$1, INDEX('Site Data '!$CU:$DJ, 0, ROW(1:1))) 

放入C10和向下填充或作爲,

.range("C10:C25").formula = _ 
    "=SUMIF('Site Data '!$CR:$CR, $B$1, INDEX('Site Data '!$CU:$DJ, 0, ROW(1:1)))" 
+0

太棒了。感謝您給我正確的代碼以及爲我的公式提供簡化。非常感激! –

+0

我真的希望我能給你更多的信貸。你不僅解決了我的問題,而且你的公式改變實際上使我的計算速度更快。隊友的歡呼聲! –

相關問題