Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13173 / 76734 ←次へ | 前へ→

【69069】range設定ミス?
質問  みその  - 11/5/14(土) 4:40 -

引用なし
パスワード
   windows7 エクセル2007使用です


複数のrangeに対して、条件を満たす場合に、
処理を実行するというコードを作成しました。

A列に入力漏れがある場合、関数を使ってX列に警告文を表示させています。
X列に警告文が表示されている場合は、
MsgBoxで、"入力してください"と表示させるためのマクロを組みました。

Sub 入力漏れチェック()

Dim i As Range

For Each i In Worksheets("A").Range("X8:X13")

  If i.Value <> "" Then

   MsgBox "番号を入力してください"
 
    Exit Sub

   Else
     処理1
 
  End If

 Next i
 
End Sub

上のコードでは、たとえば、X13に警告が表示されている場合、
ちゃんとMsgBoxが表示され、番号入力をすることができます。
そして、処理1は実行されません。

ところが、以下のように複数のレンジを指定すると、
MsgBoxの表示もなく、処理1が実行されてしまいます。

Dim i As Range

For Each i In Worksheets("A").Range("X8:X13", "X32:X37")

 If i.Value <> "" Then

   MsgBox "番号を入力してください"
 
    Exit Sub

   Else
     処理1
 
  End If

 Next i
 
End Sub

レンジの設定の仕方がおかしいのでしょうか・・・。

どうぞよろしくご教示お願いいたします。
1 hits

【69069】range設定ミス? みその 11/5/14(土) 4:40 質問
【69070】Re:range設定ミス? かみちゃん 11/5/14(土) 7:27 発言
【69076】Re:range設定ミス? みその 11/5/14(土) 15:15 質問
【69072】Re:range設定ミス? ichinose 11/5/14(土) 9:59 発言
【69077】Re:range設定ミス? みその 11/5/14(土) 15:20 質問
【69079】Re:range設定ミス? ponpon 11/5/14(土) 16:38 発言
【69081】Re:range設定ミス? みその 11/5/14(土) 17:45 質問
【69082】Re:range設定ミス? かみちゃん 11/5/14(土) 17:58 発言
【69085】Re:range設定ミス? ponpon 11/5/14(土) 18:28 発言
【69090】Re:range設定ミス? みその 11/5/14(土) 20:04 お礼

13173 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free