[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『終了(上書き)時に確認マクロ』(minoru)
お世話になります。
同一形式のシートが12シート1年分あります。
毎月各種の数値を入力後、入力ミスがなければ
D11セルとS11セル D24セルとS24セルの数値は同じになります。
上書き保存や終了時に、各セル値を確認して相違していれば、
エラーメッセージを表示、合致していればそのまま上書きや終了
する。
過去ログを検索している時間がなく、あまり調べていませんが、
上記のコードをご教授願います。
< 使用 Excel:Excel2013、使用 OS:WindowsXP >
こんな感じですか? Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim SH As Worksheet Dim a, b, msg As String For Each SH In Sheets a = SH.Range("D11").Value: b = SH.Range("S11").Value If a <> b Then msg = msg & SH.Name & "シート: [D11]=" & a & " [S11]=" & b & vbNewLine a = SH.Range("D24").Value: b = SH.Range("S24").Value If a <> b Then msg = msg & SH.Name & "シート: [D24]=" & a & " [S24]=" & b & vbNewLine Next SH If msg <> "" Then MsgBox msg & "に相違があります。 ※このブックは保存されていません" Cancel = True End If End Sub
(稲葉) 2014/10/20(月) 15:47
早々の回答ありがとうございます。
思っていたことができ助かりました。
標準ジュールとブックモジュールの区分は別の機会に学習します。
まとめのシートやその他のシートを追加予定です。
月のシートのみ確認するようにSHの繰り返しを制限するには
どのようにすればよいのでしょうか?
月のシート名は4月から3月が連続で並んでいます。
後出しで恐縮ですが、よろしくお願いします。
(minoru) 2014/10/20(月) 22:32
Sheetの名前を調べてIFで分岐してはいかがですか? そのくらいは調べられますよね? (稲葉) 2014/10/20(月) 23:32
お世話になります。
なんとなく判りますのでトライしてみます。
ありがとうございます。
(minoru) 2014/10/21(火) 12:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.