エクセルのVBA1について
お世話になります。
エクセルの文で下記の式があります。
=IF(ISERROR(VLOOKUP($E3822,☆集計!$C:$D,2,FALSE)),"対象外",IF($D3822>=VLOOKUP($E3822,☆集計!$C:$D,2,FALSE),"対象","対象外"))
これは、正常に通ります。
これをVBAのFomura関数にしてみした。
Mdata = 3824
Range("L" & Mdata).Formula = "=IF(ISERROR(VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE))," & "対象外" & ",IF($D" & Mdata & ">=VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE)," & "対象外" & "," & "対象" & "))"
'Range("L" & Mdata).Formula = "=IF(ISERROR(VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE))," & Gai & ",IF($D" & Mdata & ">=VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE)," & Gai & "," & "Tai" & "))"
コンパイルエラーとなりませんのが、実行しますと下記の様になります。
#NAME?となり、
式が
=IF(ISERROR(VLOOKUP($E3824,☆集計!$C:$D,2,FALSE)),対象外,IF($D3824>=VLOOKUP($E3824,☆集計!$C:$D,2,FALSE),対象外,対象))
となり、対象、対象外が" "で括られません。
そこで、様々なサイトを参考にして下記の様にダブルクォートを重複して書きました。
""対象""、""対象外""とすると赤字でエラーとなってしまいます。
Formula関数は、初めて使いますが、他の、単純な関数では成功しています。
どのようにすれば、通常の関数と同じ働きでインプットできるのか、ご教授して頂ければ有りがたく存じます。
よろしくお願いします。
お礼
ありがとうございました。
補足
ありがとうございます。 1. >一度、「処理済み」をコピーすると変更できないようにしたいのですが、 対象は(Sheet2)C列です。 2、 教えてください。 (Sheet2)C列の作成です。 (Sheet2)D列と同様の列をE,F,G..と追加します。 「処理済み」をコピーする定義ですが、汎用的に最終列を定義する方法はございますか? あと、COUNTBLANK関数の使い方が分かりません。 ↓例で(Sheet2)D列と同様のE列を追加すると常に「処理済み」がコピーされてしまいます。 =IF((1-COUNTBLANK(D1:E1))=0,"","処理済み") 以上 宜しくお願い致します。