最新閲覧日:

I,K,L,M列は選択肢入力、及びカレンダー入力で入力されます。
Q列はK列+L列に期間が加算されて数式によって月末が表示されます。
R列はI列の日付によって3年目の年度末日が数式によって表示されています。
Q列の日付がR列の日付を超えてしまった時に警告を表すメッセージボックスを出したいと思います。
VBAの書き方を教えてください。

「期限を超えた日付に警告のメッセージボック」の質問画像

質問者からの補足コメント

  • Officeは2010、Windows8です。

      補足日時:2015/03/07 09:58
  • 回答ありがとうございます
    このコードのみでは満足いく結果でした。
    下記コードとバッテングするようでエラーになります。
    このコードと共存できないでしょうか?

    Private Sub Worksheet_Change(ByVal Target As Range)
    '半角大文字入力
    Dim r As Range
    If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each r In Target
    If r.Value <> "" Then
    r.Value = StrConv(r.Value, vbUpperCase + vbNarrow)
    End If
    Next r
    Application.EnableEvents = True
    End Sub

    No.2の回答に寄せられた補足コメントです。 補足日時:2015/03/07 22:22

このQ&Aに関連する最新のQ&A

A 回答 (2件)

一案です。


シート名のタブを右クリック
コードの表示をクリックしてVBエディターが起動

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 9 Or Target.Column = 11 Or Target.Column = 12 Then
If Range("Q" & Target.Row).Value > Range("R" & Target.Row).Value Then MsgBox "確認してください"
End If
End Sub

を貼り付けて閉じる。
とりあえず I、K、L列に値を入れてみてください。
Q,R列の関数の結果でメッセージが出ますが、
入力する順番で余計なメッセージも出ます。
この回答への補足あり
    • good
    • 0
この回答へのお礼

Worksheet_Change_1 で解決しました。
ありがとうございました。

お礼日時:2015/03/08 07:10

どの様なタイミングでメッセージがほしいのでしょうか?


別案ですが
I、L、M列に入力をされると思いますが、条件付き書式で
数式で、Q列>R列 の場合にセルの塗りつぶしで 赤など目立つ色になるように
設定しては如何でしょうか。
設定は
I~R列を選択
条件付き書式=>新しいルール
数式を使用して、書式設定・・・
数式に =$Q1>$R1
書式のボタンを押して、塗りつぶしで ご希望の色を選択して
OK
すれば完了です。
    • good
    • 0
この回答へのお礼

hallo-2007さん回答ありがとうございました。
出来れば、塗りつぶしのタイミングでメッセージボックスが現れて「期限を超えています」と表示したいです。

お礼日時:2015/03/07 15:20

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード


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

人気Q&Aランキング

おすすめ情報