Sumif函数和VBA中工作簿的复制值

时间:2013-03-06 18:58:00

标签: excel-vba vba excel

我有一个从Sumif获取值的过程,但我无法将值复制并粘贴到另一个工作簿。任何帮助将不胜感激。 这是我的WIP:

Sub WLPTdata()

Dim NEO As Range

NEO = Application.SumIf(Range("C7:C3000"), "TM-NEO", Range("K7:K3000"))

Selection.Copy

Windows("HSD_PTdata.xlsx").Activate
 Sheets("pdata").Select
Range("B160").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

1 个答案:

答案 0 :(得分:3)

NEO应定义为Double或Long,具体取决于您对SumIf的期望数据。

然后您可以使用

指定该值
workbooks("HSD_PTdata.xlsx").Sheets("pdata").range("B160")=NEO

或者,您可以在一行中完成

Range("[HSD_PTdata.xlsx]pdata!B160")=Application.SumIf(Range("C7:C3000"), "TM-NEO", Range("K7:K3000"))

假设您在适当的工作表上开始求和。如果没有,请在sumif中更改范围以包含完整参考,例如"[Book1]Sheet2!C7:C300"