2017-06-28 5 views
-4

基本的にExcelからVBAに式を変換しようとしています。私はSUMIFS()コマンドを使用しており、既に確立されているテーブルの列を参照しています。これは私がこれまで行ってきたことですが、私はオブジェクトエラーを得続けます。VBAでsumifs()を使用する場合の問題

Cells(2, 14).Value = 60 * Application.WorksheetFunction.SumIfs([Hours],[Operators], [@Operators], [Forging], [@Forging], [Operation], [@Operation], [Job No], [@[Job No]], [Time], ">" & [Time] - Time(1, 0, 0), [Time], "<" & [Time] + Time(1, 0, 0), [Workcenter], [@Workcenter]) 

私は、これはあなたがSUMIFSを(使用する方法ではないことを推測している)ので、それはExcelの場合と同様に、それが機能できるように、どのようにあなたはこれを修正します。

ご協力いただきましてありがとうございます。

+0

構造参照なしで試してみてください:) – pnuts

答えて

1

VBAの構造化された式の力を活用するのは難しいです。テスト済みの作業式があるので、セルにと評価してとし、値を修正させることができます。例えば:

With sheet1.Cells(2, 14) 
    .Formula = "=SUMIFS([Hours],[Operators], [@Operators], [Forging], [@Forging], [Operation], [@Operation], [Job No], [@[Job No]], [Time], "">"" & [Time] - Time(1, 0, 0), [Time], ""<"" & [Time] + Time(1, 0, 0), [Workcenter], [@Workcenter])" 
    .Value = .Value * 60 
End with 

ここで注意しなければならないのは、最初の数式の中に二重引用符をダブルアップしたものです。

+0

これを実行して、.formula行で型の不一致エラーが発生しました – PMac

関連する問題