• ベストアンサー

あるセルが空白でなければ入力できないようにしたい

例えばA1セルが空白でなければ C1セルに入力しようとすると注意喚起のポップがでて入力できないようにする といったマクロはどのようなコードを書けばいいのでしょうか? できなくてはたはた困っています;

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

無理にマクロを使わなくてもC1セルに「入力規則」でユーザー設定を使い、 =A1="" などのように設定しておけば入力を阻止してくれます。 が、まぁどうしてもマクロを使いたいなら 手順: シート名タブで右クリックしてコードの表示を選ぶ 現れたシートに書きをコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range)  if application.intersect(target, range("C1")) is nothing then exit sub  if range("A1") = "" then exit sub  msgbox "A1 is not blank"  application.enableevents = false  application.undo  application.enableevents = true end sub ファイルメニューから終了してエクセルに戻り、C1やA1に入力したり編集したり削除してみる。 といったこともできます。 #補足 どのような手段を使っても、「入力しようとした」ときに阻止する方法はありません。

kokorororo
質問者

お礼

keithin様、大変助かりました。本当に感謝してもしきれません。 教えていただいたマクロを大切に利用させていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 空白なら入力、入力されていたら削除のマクロ

    A1セルに、B1セルに入力した文字をコピーするマクロを作りたいです。 ただし、常にB1セルに入力した文字をコピーするのではなく、A1セルに何も 入力されていなかった時だけ文字をコピーして、逆に何か入力されていた時はそれを 認識して、A1セルを空白にするマクロです。マクロの記録でうまくいかなかったので、お知恵を貸していただければ幸いです。。 (例) A1セルは空白 B1セルに あいうえお とかかれているとする    マクロボタンを押すと、 A1セルにあいうえお と入力される    もう一度同じマクロボタンを押すと、A1セルが空白になる(あいうえおが削除される)    更にもう一度同じマクロボタンを押すとA1セルにあいうえお と入力・    これの繰り返しです。

  • マクロ 空白セルへの文字入力

    A列が空白となるまでB列のとこどころに数字が入力されていて空白のセルへ0を入力する。 というマクロがどうしてもできないのですが、ご教示お願いします。

  • EXCEL 指定範囲内の空白セルに特定数だけ文字を入力するマクロ教えてください。 

    マクロ初心者です。 指定範囲内の空白セルに特定数だけ文字を入力するマクロを考えていますが、まったくわかりません。どなたか教えていただけますか? 詳細内容 (1)下記のような空白セルを含む範囲内        A B C D       1  A君       2       3A君  B君       4  C君  (2)別セルでA君に1追加するとA君が表示上追加される        A B C D       1  A君  A君←どこでも空白セルならいい       2       3A君  B君       4  C君 

  • 空白セルとして認識しない

    win2000, excel2000です。 例えば、C1に=IF(A1="","",B1)という式が入っています。 この式がC1000まで入っています。 C1~C1000には空白行が散在します。 C列のセルが空白の行をマクロでなく削除したいので C1~C1000を選択肢、「コピー→形式を選択→値」で C1~C1000にコピーします。 C1~C1000を選択し、 「ジャンプ→セルの選択→空白セル」 を実行しても「見当たりません」と返されます。 オートフィルターで空白以外のセルを実行すると、 空白と認識されるようですが、 ジャンプではだめなのでしょうか? オートフィルターで印刷には支障がないのですが、 このbookをメールで送ったりするので、 できれば空白行をマクロでなく削除した後で 送りたいのですが。

  • 連続するセルに空白セルを入力する方法

    縦列に 【A1】 a b c a b c a b c …(以下100回ほど) 上記のように連続する列があるといます。 これを、 【A1】 【A2】 a b 【空白セル】 c a b 【空白セル】 c a b 【空白セル】 c …(以下連続) このようにしたいです。 どのようにすればよいのでしょうか? 教えてください。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • エクセルで空白セル”” と未入力セルの違い

    関数で セルA1 に=if(B1=0,"","入力済") としました。 セルの選択を素早くするためにショートカットキー「Ctrl+↓」を 利用しています。 通常の未入力空白セルは上記のショートカットで飛ばされて選択 されません。 これに対して上記関数で ""  として入力されたものを コピーして値だけを貼り付けたとしても 上記ショートカットキーで飛ばされず選択されてしまいます。 見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。) 未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。 また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに 戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。 おわかりの方お教えください。

  • 空白セル

    Excel2007です 仮にC1のセルに=A1-B1の計算式でA1かB1のセルを空白にすると#VALUE!エラーがでます 空白セル=0(ゼロ)と出来ないでしょうか

  • マクロにて空白のセルを一括して消去でなく削除したい

    空白のセルを一括して、空白セルについた色も含めてマクロで全て削除したい。 現在のデータ(仕様)について 1.Sheet2に列ごとにセルに色をつけ、データもあるとします。 2.A列10行・B列6行・C;列18行というように、列によってデータの入った範囲が違います。 3.どの行も途中に空白セルはなく、詰めたデータです。 以上です マクロで一括処理したいと思いますが、このようなことができるコードを教えて頂けませんか。よろしくお願いします。

専門家に質問してみよう