[[20150331142444]] 『入力必須セルが未入力だった場合。。』(TOTAL) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『入力必須セルが未入力だった場合。。』(TOTAL)

いつもお世話になっております。

入力必須セルが何箇所かあり、そこが未入力のまま保存しようとした場合に
エラーメッセージ&未入力箇所を着色したいのですが
そういった事はできますでしょうか?

度々申し訳ございません。
どなたかお手すきの時にご教示願います。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 保存時でなくとも、入力必須箇所を条件付書式で色付けしておいてはどうでしょうか。

(Mook) 2015/03/31(火) 14:34


 Mookさんも書いている通り条件付き書式で色づけをしておいて、それでもかつ入力忘れが
 あった場合、保存は出来るけどブックを閉じられないようにする方法です。

 下記例では必ず入力しなければいけないセルがA1、B3、D15となっています。
 ThisWorkbookモジュールに

 Private Sub Workbook_BeforeClose(Cancel As Boolean)

     With ActiveSheet
          If .Range("A1") = "" Or .Range("B3") = "" Or .Range("D15") = "" Then
             MsgBox "未入力のセルがあります。入力してください", vbOKOnly + vbExclamation
             Cancel = True
          End If
     End With

 End Sub

 でもこれマクロ無効で開いたら何の意味もないんですけどね・・・。
(se_9) 2015/03/31(火) 14:52

もう一つ教えて頂けますでしょうか?

先程質問させて頂いた条件に加えて
とあるセルが"-1"になっている場合もブックを閉じられないようにしたいのですが。。

(TOTAL) 2015/03/31(火) 15:30


 A2セルに-1が入力されている場合だと

    With ActiveSheet
         If .Range("A1") = "" Or .Range("B3") = "" Or .Range("D15") = "" Or .Range("A2") = "-1" Then
            MsgBox "未入力のセル、またはA2セルに-1が入力されています。正しく入力してください", vbOKOnly + vbExclamation
            Cancel = True
         End If
    End With

 のようになります。メッセージボックスのメッセージは適当に変えてください。
(se_9) 2015/03/31(火) 16:02

いつもお世話になっております。

ものすごくバカな質問をさせて下さい。
以前上記のような質問をさせて頂きましたが。。

未入力箇所があればエラーメッセージが出るように。。というような質問をさせて頂きました。
ご指示頂いたとおりやってみた所
やりたい事は出来たのですが、私自身も何か入れないとBOOKが閉じれなくなります^^;
これを回避する方法をご存知の方がいれば教えて頂きたいです。

書式の作成者はファイルを閉じることができて、その書式を使う人に対してエラーメッセージが出るように
できますでしょうか。。

本当に申し訳ございません。
何卒よろしくお願い致します。
(TOTAL) 2015/04/14(火) 18:14


 書式の作成者 という意味は、このマクロの作成者ということだろうと思いますが、この情報は、(標準仕様としては)どこにもないでしょうね。
 また、今、エクセルを使っている人が誰なのかも、どこにも、その情報はありません。
 (エクセルのユーザーIDはありますが、これは、そのPCでだれがエクセルを使っていても同じID)

 思いつきレベルですが、

 1.(TOTAL)さんも、該当のセルに何かいれて閉じる。
 2.(TOTAL)さんが閉じる前に、(TOTAL)さんだけが実行できるマクロを実行。このマクロの中でApplication.EnableEvents = False と記述。
   この方法はいくつかありますが。
 3.(TOTAL)さんが閉じる前に、(TOTAL)さんだけが変更できるシートのセルの値を決められたものにする。
   BeforClose では、この値が決められたものであれば、チェックをしない。
   で、このセルの値をクリア。
 4.(TOTAL)さんが閉じる前に、VBE画面を開き、イミディエイトウィンドウを表示して、そのなかで Application.EnableEvents = False とタイプしてエンター。

 3.か 4.でいかれたらいかが?

(β) 2015/04/14(火) 19:00


β様
ご丁寧に教えて頂きありがとうございます!
4番でやってみました。

やりたかった事ができました。
本当にありがとうございます。

今後ともよろしくお願い致します。
(TOTAL) 2015/04/14(火) 20:25


いつもお世話になっております。

以前質問を投稿させて頂き、まったく問題なく今日まできたのですが、
突然マクロが作動しなくなりました。

書式を少し修正しただけで、構文は何もさわっておりません。

どなたか考えられる原因をご存知の方がいらっしゃったら教えて頂けますでしょうか?

よろしくお願い致します。
(TOTAL) 2016/02/25(木) 14:26


 私、この質問に回答していたんですね。1年も経ってないのに記憶が・・・。

 書式をどのように修正したのかと、現在使っているマクロのコードを提示していただけますか?
(se_9) 2016/02/25(木) 15:09

Private Sub Workbook_BeforeClose(Cancel As Boolean)

     With ActiveSheet
          If .Range("K14") = "" Or .Range("Z14") = "" Or .Range("AP14") = "" Or .Range("BF14") = "" Or .Range("K16") = "" Or .Range("K17") = "" Then
             MsgBox "着色箇所は入力必須箇所です(上書き保存はできます)", vbOKOnly + vbExclamation
             Cancel = True
          End If
     End With

 End Sub

マクロコードは上記の様になっております。

今使用しているファイルの中にワークシートがいくつかあり、該当のシートで追記・修正はしておりません。
マクロコードに関しても追記・修正はしておりません。
ただ、他のシートで追記・修正はしました。修正内容もたいした修正ではなく
項目欄をいくつか追加しただけです。

どこを確認していいのかさっぱりわからず困っております。
確認の為に何度もファイルを開けたり閉じたりしたのも原因でしょうか?
ホントにこの程度知識なのでご教示頂けたら助かります。

何卒よろしくお願い致します。

(TOTAL) 2016/02/25(木) 15:36


 このマクロは【ActiveSheet】をチェックしていますね。
 したがって、どのシートかわかりませんが、閉じられようとした時点で、たまたま表示されているシートの
 該当のセルがすべて空白ではなかったら 何もしないで終わり、つまり閉じられてしまいますが?

(β) 2016/02/25(木) 16:29


 こちらで試したところ何の問題もありませんでした。なのでβさんも指摘しているように
 シートが関係しているのかもしれません。・・・てそんなコード提示した私が悪いのですよね。

 特定のシート(たとえばSheet1)と決まっているのなら
 With ActiveSheet を With Sheets("Sheet1") にしてみてください。
(se_9) 2016/02/25(木) 16:49

皆様ご丁寧に教えて下さってありがとうございます。

全てのセルは空白になっておりますが、以前のように空白セルがあると
メッセージが表示されるようにしたいのですが、思うようにいきません。

se_9様に教えて頂いた通り With Sheets("Sheet1") にもしてみたのですが
うまくいきません。

何がどうなってしまったのでしょうか(T_T)

本当に申し訳ございません。
(TOTAL) 2016/02/25(木) 17:31


 未入力のセルがあるにも関わらず、閉じる時にメッセージが出てこないということですよね?
 こんなことはないかと思いますが、一応確認してみてください。

 ・マクロが有効になっていない
 ・該当シートが「Sheet1」ではない
(se_9) 2016/02/26(金) 09:36

お礼が遅くなり申し訳ございません。

皆様に教えて頂いた通りの事を一通りやったのですが
うまくいかず。。
とにかくよくわからないまま、一度パソコンを再起動してみた所
何事もなかったかのようにマクロが作動しました。

お騒がせして申し訳ございません。
今後ともよろしくお願い致します。
(TOTAL) 2016/03/01(火) 16:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.