2017-08-17 12 views
0

私が悩みを持っているを使用して、予想される結果を取得できませんSUMIFは、Excel VBA SUMIF

For r = 2 To counter5 - 1 
    temp_str = "B" + CStr(r) 
    Sheets("Result").Cells(r, 18).Offset = _ 
     WorksheetFunction.SumIf(Range("B2:B5000"), """*" & temp_str & "*""", _ 
     Range("I2:I5000")) 
Next 

counter5私はコードを実行した後、私は結果のワークシートの最終行番号を格納する、私は唯一の列Rのセルに0を持っている、私は予想した結果を得ることができない原因は何の間違い、私も試してみました"Offset"メソッドを "Formula"に変更する代わりに、同じ結果が得られます。 WorksheetFunction.SumIfについては

+0

*二重引用符で間違って配置されています。このように真ん中に置く "" * ""。両方の場所で(変数の前後)。 – Sixthsense

+0

これは: "" "*"&temp_str& "*" "" '' * "&temp_str&" * "' – Rory

+0

私は引用符を変更しようとしましたが、結果は変わりません。設定に関係するものはどれも影響を及ぼしますか? –

答えて

0

、次のように動作します(あなたと一緒に現在のコードを、私はあなたがセルの値をしたい想像するところ、例えば、文字列「B2」を探している?):

For r = 2 To counter5 - 1 
    Sheets("Result").Cells(r, 18).Offset = _ 
     WorksheetFunction.SumIf(Range("B2:B5000"), "*" & Cells(r, 2) & "*", _ 
     Range("I2:I5000")) 
Next