将变量放入SumProduct

时间:2020-05-24 20:53:10

标签: variables sumproduct

我希望现在有人可以消除对VBA的沮丧。

我的代码将信息提取到O列中。然后,我从O列中删除重复项,并将唯一编号放入R列中。

Range("O5:O52").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-15
Range("R5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Range("$R$5:$R$52").RemoveDuplicates Columns:=1, Header:=xlNo

然后我使用SumProduct将G列中与原始O列编号相关联的所有原始数据加在一起,并将答案与R列中对应的唯一编号相对应。

Range("S5").Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R5C15:R52C15=RC[-1])*(R5C7:R52C7))"
Range("S5").Select
Selection.AutoFill Destination:=Range("S5:S52"), Type:=xlFillDefault

在上面的示例中,我具有从第5行到第52行的数据。但是,尽管每个数据集都将从第5行开始,但是它们将具有不同数量的行,因此我正在尝试(未成功)调整“删除重复项”和“ SumProduct”编码为变量,而不是R52。

我尝试使用counta确定数据的行数,并将其设置为变量“ count”,然后将变量插入SumProduct中,如下所示。没用。

'Range("S5").Select
'ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R5C15:RcountC15=RC[-1])*(R5C7:RcountC7))"
'Range("S5").Select
'Selection.AutoFill Destination:=Range("S5:Scount"), Type:=xlFillDefault

我还试图找到一种在循环中使用LastRow的方法,以使其继续运行,直到遇到最后一行,但找不到一种方法使之正常工作。

在此先感谢您的帮助!

0 个答案:

没有答案
相关问题