2017-03-06 46 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

我真的希望我能给你更多的信贷。你不仅解决了我的问题,而且你的公式改变实际上使我的计算速度更快。队友的欢呼声! –

相关问题