• ベストアンサー

エクセルでForNextで実行したものを範囲として使うには?

エクセル2003を使っています。 VBAにて、COUNTA関数を使う際に、範囲をForNextにて表現したいと考えております。 WorksheetFunction.CountA(Cells(10,3),Cells(12,3)・・・Cells(42,3)) というような感じとなるため、2つおきの部分に変数jを用いた中で表現したいのですが・・・ For j = 10 To 42 Step 2 これを用いて、CountA(*)に当たる*内をうまく表現するにはどのようにしたらよろしいでしょうか? アドバイスをいただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

先に2行ごとのセルの範囲を作成しておくのがコツです。 Sub macro() Dim j As Integer Dim r As Range For j = 10 To 42 Step 2 If r Is Nothing Then Set r = Cells(j, 3) Else Set r = Union(r, Cells(j, 3)) End If Next j MsgBox WorksheetFunction.CountA(r) End Sub

makun100
質問者

お礼

回答ありがとうございました. なるほど,例文を参考に,先に範囲を作成する方法がわかりました. 一部変更を加えて試したところ,うまくいきました. ありがとうございました.

関連するQ&A