- ベストアンサー
VBAで関数を挿入したい
VBAでISBLANK関数を Fomulaでシートに挿入したいのですが アプリケーション定義またはオブジェクト定義のエラーとなってしまいます。 ISBLANK関数をVBAで挿入するにはどうすればうまくいくでしょうか? 他にもISNULLやISEMPTYを試しましたがうまくいきませんでした。 どなたかご存知の方がいらっしゃいましたらアドバイスをお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 単にISBLANK関数だけでなく、IF関数等他の関数も併用されているのでは? 通常の関数操作で仮に、B1セルに =IF(ISBLANK(A1),"","AAA") (A1セルが空白の場合は空白に、そうでない場合はB1セルは AAA を表示!) といった関数をB10セルまでオートフィル! これをVBAでやる場合の一例です(オートフィルは使っていません) Sub test() Range("B1:B10").Formula = "=IF(ISBLANK(A1),"""",""AAA"")" End Sub このような感じになると思います。 ※ ダブルクォーテーションの数に注意してください。 的外れならごめんなさいね。m(_ _)m
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
ActiveSheet.Range("B1").Formula = "=ISBLANK(A1)" とかか?
補足
通常はそのやり方で問題ないと思うのですが、挿入しようとしている関数が以下の通り長めとなってます。 =IF(AND(COUNTIF(D:D,D5)<>1,NOT(ISBLANK(D5))),IF(OR(ISBLANK(D5),ISBLANK(F5)),""重複、未入力"",""重複""),IF(AND(ISBLANK(D5),ISBLANK(F5)),"",IF(OR(ISBLANK(D5),ISBLANK(F5)),""未入力"","")))" 関数が長いからいけないのでしょうか。 どこを直せばよいかお気づきであれば教えていただけると助かります。
お礼
ダブルクォーテーションの数が誤っていたようです。 ご指摘の通り""を""""に修正したらうまくいきました。 アドバイスありがとうございました!