2017-09-07 15 views
1
Worksheets("sheet2").Range("C2").Formula = "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," >= "&A2,Sheet1!A:A," < "&B2)" 

でセルに数式を設定するとき、私はExcel 2007で上記のコードを実行していると私は型の不一致VBA

を取得し、実行時エラー13型の不一致

よ上記のコードは、シート1から平均操作を行い、シート2に入力するために使用されます。私はエラーを修正するための助けを要求します。

答えて

0

問題は別の見積もりで引用符をエスケープする必要があります。これは、数式中の"がすべて""になることを意味します。

そのセルの数式が

=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,">=" & A2,Sheet1!A:A,"<" & B2) 

であるべきで、あなたが" your formula here "二重引用符の間の文字列の中にそれを置く場合は、あなたが式の中のすべての引用符をエスケープし、以下のように"""を変更する必要があります:

Worksheets("sheet2").Range("C2").Formula = _ 
    "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,"">="" & A2,Sheet1!A:A,""<"" & B2)" 

別のオプションはの代わりにChr(34)を使用されるだろう。

Worksheets("sheet2").Range("C2").Formula = _ 
    "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," & Chr(34) & ">=" & Chr(34) & " & A2,Sheet1!A:A," & Chr(34) & "<" & Chr(34) & " & B2)" 

これは技術的には同じですが、この場合は人間が読むことができません。