人に聞けない痔の悩み、これでスッキリ >>

パソコン(マクロ)に詳しい方お助けください。
マクロを組みたいのですが、調べても作成が出来ません。
悩んでる箇所のエクセルの写真を添付致しますので、恐縮ですが、ご確認ください。

初心者でも分かるように解説して頂けると助かります!!

「パソコン(マクロ)に詳しい方お助けくださ」の質問画像

A 回答 (3件)

以下のWorksheets("セットアップ") の該当するシートが違うのでしたら、セットアップの部分を書き換えてください。



'//Thisworkbook モジュールに書き込む
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Dim rw As Long
 With Worksheets("セットアップ") '判定するシート
  rw = .Cells(Rows.Count, 1).End(xlUp).Row
  If rw < 5 Then Exit Sub
  If .Cells(rw, 1).Value <> "" Then
   If IsDate(.Cells(rw, 4).Value) = False Or IsDate(.Cells(rw, 5).Value) = False Then
    MsgBox "未入力箇所があります。", vbExclamation
    Cancel = True
   End If
  End If
 End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました!

お礼日時:2019/07/28 22:07

VBAでやれればよいのですが、自分なら手っ取り早く条件付き書式でやります。


別解というか参考というか、こういうやり方もあるということで紹介します。

メッセージは出せませんが、提示の条件になったときにセル入力をうながすよう色をつけるようにします。

◆手順
1.E5セルを選択して、メニュー → ホーム → 条件付き書式 → 新しいルール とします。
2.添付図参照。数式は『=AND(B5<>"",E5="")』
3.F5セルを選択して、メニュー → ホーム → 条件付き書式 → 新しいルール とします。
4.添付図参照。数式は『=AND(B5<>"",F5="")』
5.E5~F5セルを下方向にコピペ
「パソコン(マクロ)に詳しい方お助けくださ」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました!

お礼日時:2019/07/28 22:07

http://home.att.ne.jp/zeta/gen/excel/c04p59.htm

イベントプロシージャの「BeforeClose」を使って
例で書かれている内容をチェックする内容を記述すればできますよ。

あとは、
①B5~B13までの入力の有無によって同じ行のE列とF列の未入力をチェック
②未入力があれば、例通りのメッセージが出るようにする

上記が基本ですが、「何行目が未入力」とか複数行ある時は閉じる際に一度にメッセージに書き込むなど
どこまでやりたいのでしょうか?

ifやforなどが分からないレベルだと、その辺は書籍を買って勉強された方が良いと思います。
分かるなら、上記の指摘で十分わかるとは思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございました!

お礼日時:2019/07/28 22:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング