プロが教えるわが家の防犯対策術!

Office XP Personal 2002
Excel 2002

指定した範囲セルに1がない時、下記の1つの For だけ を抜けたいのですが・・・
どのように変更すればよろしいでしょうか?
よろしくお願い致します。

Sub test()
Dim i As Integer
Dim n As Range

For i = 1 To Worksheets.Count - 1
 Worksheets(i).Activate

 For Each n In .Range("E6", .Range("E6").End(xlDown))

  If Not n.Cells.Value = 1 Then
  End If
  Next n
   MsgBox "「1」 がありません。", 48
  Exit For

 'For Each n In .Range("E6", .Range("E6").End(xlDown))
  '続く
  '・ 
  '・
End Sub

A 回答 (1件)

たぶん、やりたいことは範囲に1があったら次のシートに移り、なければメッセージ表示だとおもいますが、それなら


Sub test()
Dim i As Integer
For i = 1 To Worksheets.Count - 1
 Worksheets(i).Activate
 x = Application.WorksheetFunction.CountIf(.Range("E6", .Range("E6").End(xlDown)),1)
If x = 0 Then MsgBox "「1」 がありません。", 48
Next i
End Sub
    • good
    • 0
この回答へのお礼

早速のご回答誠に有難うございました。
私にとっては微妙でした。
だいぶ時間がかかりましたが、ちょっとだけ分かりました。
1でない時、1が1つもない時、
まったく、別コードになるわけですね。

お礼日時:2010/04/06 00:51

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