Excel 如何对两个范围地址之间的值求和
我有一个表格,在第20行的标题处有单词“Circuit”1,2,3..等。根据用户输入,每个“电路”标题下面的列数可变 我试图求这个表第38行的和,直到下一个“Circuito”+number参数开始。我能够检索我想要求和的每个范围的开始和结束。但是,我找不到一种方法来求和这些值Excel 如何对两个范围地址之间的值求和,excel,vba,Excel,Vba,我有一个表格,在第20行的标题处有单词“Circuit”1,2,3..等。根据用户输入,每个“电路”标题下面的列数可变 我试图求这个表第38行的和,直到下一个“Circuito”+number参数开始。我能够检索我想要求和的每个范围的开始和结束。但是,我找不到一种方法来求和这些值 For j = 1 To NumCirc 'NumCirc is the number of circuits Set rgfound = Range("B20:BZ20").Find("Circuit " &
For j = 1 To NumCirc 'NumCirc is the number of circuits
Set rgfound = Range("B20:BZ20").Find("Circuit " & j)
a = rgfound.Offset(18, 0).Address 'this is the first value
b = rgfound.End(xlToRight).Offset(18, -1).Address 'this is the last value
Next j
因为我找到了起点和终点,所以我希望把它们之间的一切都加起来。工作表。求和(a,b)仅对“a”和“b”求和,而不是对范围内的所有值求和
谁能告诉我怎么做?谢谢 您可以将
范围
s括在范围
呼叫中-无需地址
将a
和b
更改为Range
s和设置它们
Dim a as Range
Set a = rgfound.Offset(18, 0)
Dim b as Range
Set b = rgfound.End(xlToRight).Offset(18, -1)
然后
其他注释:
您应该测试是否找到以下范围:
Set rgfound = Range("B20:BZ20").Find("Circuit " & j)
If Not rgfound Is Nothing Then
Set a = ...
Set b = ...
...
End If
最佳做法是指定范围
所在的工作表,除非您特别希望使用活动工作表
——目前暗示使用该工作表
WorksheetFunction.Sum(范围(a,b))
-但将a
和b
更改为Range
s并设置它们(去掉.Address
)。效果非常好,谢谢!!
Set rgfound = Range("B20:BZ20").Find("Circuit " & j)
If Not rgfound Is Nothing Then
Set a = ...
Set b = ...
...
End If