• ベストアンサー

Excel2002のVBAでFor Nextのネストについての疑問

For~NextステートメントもIf~Thenステートメントと同じように、ネストができると勉強しているテキストには書かれているのですが、どんな風に使ったらよいのかわかりません。(If Thenはわかります) 実際に使った例を教えていただけないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

例えばA1:C4に1づつ増やした整数をセットするなら Sub test01() n = 1 For i = 1 To 4 '行 For j = 1 To 3 '列 Cells(i, j) = n n = n + 1 Next j Next i End Sub (結果)A1:C4 A列    B列    C列 1 2 3 4 5 6 7 8 9 10 11 12

omusupa
質問者

お礼

勉強したことのある言語ばかりでしたので、とってもわかりやすく理解ができました。 ありがとうございました。

その他の回答 (3)

  • GETSTREET
  • ベストアンサー率18% (14/74)
回答No.4

Sub TEST() Dim R As Integer, c As Integer, i As Integer For R = 1 To Cells(65536, 1).End(xlUp).Row c = 2 For i = 1 To Len(Cells(R, 1)) Cells(R, c) = Mid(Cells(R, 1), i, 1) c = c + 1 Next i Next R End Sub

omusupa
質問者

お礼

回答ありがとうございます。 私にはすこし、難しかったようです。 でも、これから勉強して理解できるようになっていきたいと思います。 ありがとうございました。

回答No.2

次の例でいかがでしょうか? Next の後の変数は省略できますが、どのloopか明確にするために、つける方が好ましいです。 Dim lngCount_1 As Long Dim lngCount_2 As Long With ActiveSheet For lngCount_1 = 1 To 5 For lngCount_2 = 1 To 3 .Cells(lngCount_1, lngCount_2).Value = CStr(lngCount_1) & "-" & CStr(lngCount_2) Next lngCount_2 Next lngCount_1 End With

omusupa
質問者

お礼

>Next の後の変数は省略できますが、どのloopか明確にするために、つける方が好ましいです。 わかりました。 CStr(lngCount_1) & "-" & CStr(lngCount_2) この辺が私には少し難しく理解ができませんでしたが、ネストの仕方としては理解ができました。 ありがとうございました。

回答No.1

for 行番号=1 to 10 for 列番号=1 to 10       ・・・  next next って感じですかね。

omusupa
質問者

お礼

回答ありがとうございます。 行番号や列番号で使うことができるのですね。

関連するQ&A