2016-10-04 19 views
0

私は2つの列を比較し、別の列に差異を表示しています。私は動作するエクセル式を持っていますが、私はそれをVBAマクロで使用する必要があります。 "私は、エラーで"実行時エラー: '1004':アプリケーション定義またはオブジェクト定義エラー "が表示されますが、マクロでそれを使用しようとすると。どのようにこれを修正することができますか?文字列内のvba 1004エラー内のエクセル式

Sub Macro2() 

    Range("B2:B60").Formula = "=IF(COUNTIF($A:$A,$B2)=0, B2, "")" 

End Sub 

答えて

1

引用符ではなく

Range("B2:B60").Formula = "=IF(COUNTIF($A:$A,$B2)=0, B2, "")" 

使用

Range("B2:B60").Formula = "=IF(COUNTIF($A:$A,$B2)=0, B2, """")" 

の、倍アップされるので、必要があるが、これは循環参照エラーを与えることとして、注意してくださいセルB2(等)はそれ自体を参照する。

おそらく、新しい値を列Cに書き込むつもりですか?その場合、

Range("C2:C60").Formula = "=IF(COUNTIF($A:$A,$B2)=0, B2, """")" 
+0

ありがとうございます。これはB列を0に変更するだけです。あなたはこれを回避する方法を知っていますか?エクセルでは、式は期待どおりに機能します。 – kit

+0

@kit - コードはExcelセルに数式を書き込むだけなので、Excelで数式を手動で入力した場合は、循環参照エラーも発生します。 – YowE3K

+0

ああ、ありがとう、解決!スクールボーイエラー。 – kit