プロが教える店舗&オフィスのセキュリティ対策術

VBAでISBLANK関数を Fomulaでシートに挿入したいのですが
アプリケーション定義またはオブジェクト定義のエラーとなってしまいます。
ISBLANK関数をVBAで挿入するにはどうすればうまくいくでしょうか?

他にもISNULLやISEMPTYを試しましたがうまくいきませんでした。

どなたかご存知の方がいらっしゃいましたらアドバイスをお願いいたします。

A 回答 (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
    • good
    • 0
この回答へのお礼

ダブルクォーテーションの数が誤っていたようです。
ご指摘の通り""を""""に修正したらうまくいきました。

アドバイスありがとうございました!

お礼日時:2012/08/23 17:51

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)),""未入力"","")))"
 
関数が長いからいけないのでしょうか。
どこを直せばよいかお気づきであれば教えていただけると助かります。

補足日時:2012/08/23 17:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!