人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【エクセル2003 マクロ】

下記内容のマクロを教えて下さい。よろしくお願いします。
「注意事項」
・シートには保護がかかっています(過去の質問を参考下さい:http://q.hatena.ne.jp/1242637415)
・保護がかかっていますがあA1、B1はロックを外し入力可能な状態です
・B1はリストを使いプルダウンして担当者名を選択することが可能です

?A1は空白でB1も空白の場合、エラーメッセージの表示はなし
?A1は入力済でB1も入力済みの場合、エラーメッセージの表示はなし
?A1は入力済でB1は空白の場合、エラーメッセージで「担当者を選択して下さい」と表示
?A1は空白でB1は入力済の場合、エラーメッセージで「作業内容を入力して下さい」と表示

以上、よろしくお願いします。

●質問者: msvista
●カテゴリ:コンピュータ
✍キーワード:エクセル エラーメッセージ マクロ リスト ロック
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●100ポイント ベストアンサー

VBEからオブジェクトエクスプローラからThisWorkbookをダブルクリックするとブックモジュールが開くのでそこに

次ぎのコードをコピペしてください。


Private Sub Workbook_BeforeClose(Cancel As Boolean)
 With ActiveSheet
 If .Range("A1") = "" And .Range("B1") <> "" Then
 MsgBox "作業内容を入力して下さい", vbExclamation
 Cancel = True
 End If
 If .Range("A1") <> "" And .Range("B1") = "" Then
 MsgBox "担当者を選択して下さい", vbExclamation
 Cancel = True
 End If
 End With
End Sub

ここでは、閉じるときにメッセージを出すということですので、

メッセージが出るときはCancel=Trueを指定することで閉じる動作をキャンセルするようにしました。

それと、リンク先のコードがActivesheetを対象にしているので選択中のシートのA1とB1にしています。

特定のシートの場合は、Activesheetの一箇所を変更してください。

◎質問者からの返答

質問に不備がありました。

シートが複数枚あります。仮にA。B。Cとした場合、

BのシートのA1とB1だけに対応したいのです。

後出しになり申し訳ありません。一人の回答数を2回に変更しましたので

再回答、お願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ