[[20140917202211]] 『メッセージが思うようにできません』(ちぃさん) ページの最後に飛ぶ

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

 

『メッセージが思うようにできません』(ちぃさん)

いつもお世話になります。

シートの指定した部分の上限を超えたて保存しシートを開いた場合にメッセージーをだしたいのですが上限を超えてなくてもメッセージがでます。

どうかお助けください。

シート1のE5よりC5の値が大きい場合
シート1のG8よりD8の値が大きい場合
に 「上限超えてます」 とメッセージを出したいのですが、シート2を選択し保存してからBookを閉じ、再びBookを開くと
シート1のE5よりC5の値が大きくなくても
シート1のG8よりD8の値が大きくなくても
「上限超えてます」とメッセージがでます。

現在のコードは
ThisWookBookに

Private Sub Workbook_Open()
If Sheets("Sheet1").Range("C5") >= Range("E5") Then

    MsgBox "上限超えてます"
 Else
 End If

 If Sheets("Sheet1").Range("D8") >= Range("G8") Then
    MsgBox "上限超えてます"
 Else
 End If
End Sub

としています。
マクロに詳しいわけではありませんのでできれば細かく教えて頂ければと思います。

どうか宜しくお願いいたします。

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 間違ったらスルーしてください
 ちょうど似てるのをやってたので 柱|. ̄)q

http://excelvba.pc-users.net/fol6/6_1.html

 >= は Range("C5") の値以上 という意味かな? 

 > より大きいはこっちかな?
(もみじ坂) 2014/09/17(水) 21:11

 Sheet1の話しだと思うのですけど、
 左辺はチャンとSheet1であると限定していますが、
 右辺はどのシートなのか限定していないです。
 (そうなると、状況によってはシート2の値として扱われることがあります)

(半平太) 2014/09/17(水) 21:19


(もみじ坂)さん、(半平太)さん 回答ありがとうございます。

(半平太)さんの回答で解決いたしました。

 If Sheets("Sheet1").Range("C5") >= Sheets("Sheet1").Range("E5") Then 
                  ~~~~~~~~~~~~~~~~
                                      ↑↑↑
                  ここの部分が必要だったのですね。

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

(ちぃさん) 2014/09/17(水) 21:30


コメント返信:

[ 一覧(最新更新順) ]


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