- ベストアンサー
エクセル マクロ
A列とB列のどちらか、もしくは両方が空白(0ではなく空白です)の場合、C列に1と入力する という動作をマクロボタンで実行したいのですが上手くいきません。教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ALT+F11でVBE画面を開く 挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() if range("A1") <> "" or range("B1") <> "" then range("C1") = 1 end if end sub ファイルメニューから終了してエクセルに戻る シート上にオートシェイプ(若しくは「フォーム」のコマンドボタン)を配置、右クリックしてマクロの登録でマクロを登録する。 #ご相談の説明不足(フォローはしませんので、皆さんから寄せられた回答を参考に自力で応用してみて下さい) 1.エクセルでは「ボタン」として ActiveXコントロール(コントロールツールボックス)のコマンドボタン フォームのコマンドボタン オートシェイプの図形やJPG、GIF画像など などを利用することができます。具体的にどれを使うか(使いたい理由がなにかあるのか)に応じて、具体的なマクロの書き振りとか用意の仕方が違うので、ごっちゃにしてはいけません 2.A列、B列、C列の「具体的にどの行について」そういう事をしたいのか説明がありません。 たとえば回答したように「固定のこの行について」そうできればよいのか たとえば「A列に記入してある一番下の行」のように具体的な対象となる行をマクロに探させて、その行のC列に結果を記入したいとか
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
あらまちがいた >A列とB列のどちらか、もしくは両方が空白(0ではなく空白です)の場合 sub macro1r1() if range("A1") = "" or range("B1") = "" then range("C1") = 1 end sub 失礼しました。 あるいは ir application.counta(range("A1:B1")) < 2 then とかでもいいです。 #それとも「ゼロではなく空白の場合」とわざわざ補足を入れているのは、セルに実際には「何か記入してあって、それがどーなってる場合には」というナイショの条件付きのお話なのかもしれませんね。