[[20170623143211]] 『特定セルに入力が無い場合に閉じれなくしたい』(はるお) ページの最後に飛ぶ

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

 

『特定セルに入力が無い場合に閉じれなくしたい』(はるお)

Excelの申請フォームの入力漏れが多く、保存時に制御する方法を模索しています。

A1からF1列に入力項目
2行目以降が申請内容の入力箇所があります。

入力件数は流動的ですが、A列に入力がありB,C,D,E,Fどれか入力漏れがある場合に
ファイルを閉じられないような制御は出来ますでしょうか?

例)
  A  B  C  D  E  F
1 あ  い う  え  お  か
2 き  く け  ●  さ  し
3 す  ● せ  そ  な  に


●が空欄の場合、D2とB3セルに入力が無い旨のエラーメッセージを出して
ファイルを閉じられないようにしたいです。

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

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


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'Thisworkbookモジュール
    Dim c As Range, sht As Worksheet
    Set sht = Sheets("申請フォーム") '適宜変更
    For Each c In sht.Range("A:A").SpecialCells(xlCellTypeConstants)
        If WorksheetFunction.CountA(Range(c.Offset(, 1), c.Offset(, 5))) <> 5 Then MsgBox "入力漏れ有り:" & c.Row & "行目": Cancel = True: Exit Sub
    Next c
End Sub
(mm) 2017/06/23(金) 16:39

Workbook_BeforeClose時にセルチェックし、駄目ならばCancel=Trueにすることで、閉じられなくできます。
しかしそうすると、元ブックを作って閉じる際もロジックが動作してしまうので、いちいちマクロ無効にしてから閉じないといけなくなり、面倒に思います。 それに、マクロ無効で開かれてしまうと、折角のチェックが機能しません。

条件付き書式を使い、入力が無ければセルを赤く塗る、等でエラー箇所を強調するだけで良くはないでしょうか?
(???) 2017/06/23(金) 16:42


mmさま、???さま

対処方法をご教示頂きありがとうございました。
頂いたアドバイスで試してみます。

取り急ぎ御礼まで。
(はるお) 2017/06/23(金) 17:07


コメント返信:

[ 一覧(最新更新順) ]


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