| 
    
     |  | ▼かみちゃん さん: 
 早速ありがとうございます。
 
 > Range("X8:X13", "X32:X37")
 >  では、X8:X37が処理されるので、
 >  以下のようなコードにしてはいかがでしょうか?
 >
 >  For Each i In Worksheets("A").Range("X8:X13,X32:X37")
 
 
 For Each i In Worksheets("A").Range("X8:X13,X32:X37")
 としても、やはり結果は同じで、
 MsgBoxは表示されず、処理1が実行されてしまいます。
 
 >X8:X13、X32:X37は、何も表示されていないのに、
 >「処理1」が処理されるということは、
 >X14:X31に何か値が入っていませんか?
 
 X14:X31にはデータはありません。
 でも、たとえX14:X31データがあったとしても、
 For Each i In Worksheets("A").Range("X8:X13,X32:X37")
 If i.Value <> "" Then
 
 とするなら、X8:X13,X32:X37Mに何かデータがあれば、
 sgBoxは表示され、処理1が実行されないと思うのですが、
 私が考え違いでしょうか。。。
 "X8:X13,X32:X37"には、if関数を使って、A列が未入力の場合、
 ”番号を入力してください”という警告文字を表示させています。
 
 指定しているレンジ以外のX列にはデータがありませんので、
 For Each i In Worksheets("A").Range("X8:X37")
 としてみましたが、やはり、
 MsgBoxは表示されず、処理1は実行されてしまいます。
 
 一区切りのレンジならうまくいくのに、複数を指定すると
 とうまくいかないのです。
 
 |  |