• ベストアンサー

エクセルのマクロについて

エクセルを閉じる時に指定されたセルに数値を入れていないと閉じられない(またはエラーメッセージを出す)ような設定ってありますか?マクロになるのかのと思うのですが・・・。基本的なことですいませんが教えてください。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

VBE画面を開き、プロジェクトエクスプローラを表示、ThisWorkbookを開いて記述します。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  If Worksheets("Sheet1").Range("A1").Value = "" Then   MsgBox "Sheet1のA1を記入して下さい。", vbCritical, "終了出来ません"   Cancel = True  End If End Sub マクロ有効で開いてもらえないと意味無しです。

billiken
質問者

お礼

ありがとうございました。こういう式でできるんですね。やってみたらできました。

その他の回答 (1)

  • p-22
  • ベストアンサー率21% (69/320)
回答No.1

マクロというよりVBAによる手法では 可能です エクセル自体の×を無効化し ユーザーフォームからの操作画面にすれば 良いと思います

billiken
質問者

お礼

ごめんなさい。初心者なんでちょっと分からないです。。。

関連するQ&A

  • エクセル2013のマクロについて。

    Excel 2013のシートでセルに2桁の数字を入れていますがセルの書式設定でユーザー定義を"00"として数値が1桁の場合に頭にゼロがつくようにしてあります。このシートでマクロを作成した時、変数Aを"Dim A As Byte"と定義して、「A = "セル"」の式で マクロの実行が止まり、「実行時エラー'13':型が一致しません。」と出て数値として読み込めないようですがどなたか原因と解決方法ご存知の方教えて下さい。

  • エクセルのマクロ

    エクセルでマクロを使うときにセルに入力した数値などを変えた時に自動でマクロを実行するようにできませんか?

  • Excelのマクロで作りたい

    こんにちは。 あるデータベースを使うシステムでエクセルにデータをエクスポートしたら数値を入れている列が文字列として認識してしまいます。 本来文字列が入るところに数値を入れているだけなのですが、エクスポートした時も数値しか入っていないのですが文字列として入っています。 エクセル上では数値しか見えませんノートパッドにペーストすると数値の後ろに「”」があります。しかも改行されていて2行ある状態になっています。 なのでセルの内容を編集(F2)で開いてバックスペース2回押し、Enterで初めて数値として認識されます。 この行為をマクロ化するにはどうすればいいのでしょうか? マイクの記憶で同じ動作をしてもそのセルの場所と中にある数値も一緒に記憶されるのでどこでやっても記憶した数値を貼り付けする事になってしまいます。 これをどの箇所でもマクロを押せばそのセルをF2してバックスペースを2回する様に設定することは可能でしょうか? 判りずらい説明ですがもし判る方が居たらご教授下さい。 宜しくお願いします。

  • EXCEL97のマクロについて

    EXCEL97で、数値や文字を入力するデータベースのマクロを作ったのですが、数値を入れるところに数値以外を入力すると「型が一致しません」というエラーメッセージがでて中断してしまいます。EXCEL2000では中断せずに先に進む事ができるのですが、EXCEL97でも同様に中断させない方法があるのでしょうか?

  • エクセル¥マクロで対話形式のプログラムが組める?

    エクセルのマクロでこんなことはできますか? (1)まずプログラムを実行する。 (2)実行中に、プログラムは「○○○を入力してください」などというメッセージを発し入力待ち状態で停止する。 (3)使用者が指定されたセルに適切な数値などを入力しENTERを押す。 (4)プログラムは実行を再開する。 よろしくお願いします。

  • Excelのマクロについて教えてください。

    私がやりたいマクロは、 ある範囲の中でセルの中の数値が「0」以上のときは四捨五入をしなさい。 というマクロを組みたいのですが分かるかたがいましたら教えてください。 Excel2000です。 よろしくお願いします。

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • エクセルのマクロについて

    マクロ初心者です。 エクセルであるセルの数値に100掛けた結果を同じセルに表示させたい場合はどういったVBAを使えばいいのでしょう。他のセルに一旦100掛けた数字を入れて、また元のセルに戻すという事は無しで・・ 例えば「0.25」をいうセルにマクロを流して「25.00」(小数点以下の桁数にはこだわりません)に変えたい場合です。

  • エクセルでマクロを自動的に実行

    表題の通りなんですが、エクセルで、あるセルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのですが、そういったことってできるのでしょうか。 具体的には、  1、バーコードリーダーで数値をセルに入力  2、その数値に対応する名前をvlookup関数にて表示  3、その名前が入力された時点でマクロが自動的に実行 と言うものです。  3の部分がよく分からずに困っています。できるかどうか分かりませんが、もしできるようであるならその方法を教えていただければありがたいです。どうか、よろしくお願いします。

  • エクセルでマクロ?

    昨日もエクセルで質問しました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=603675 引き続き表1の数値をリンクさせて表2を作っています。 また分からないところが出てきたのでお願いします。 表1の数値が「0.987」の時、表2で「0.98小さい下付き7」と表示させたいのですが、何か良い方法はありますでしょうか? |0.98|小さい下付き7|のようにセルが分かれても構いません。 マクロとか詳しくないので助けていただけると嬉しいです。 よろしくお願いします。