- ベストアンサー
Excel2002のVBAでFor Nextのネストについての疑問
For~NextステートメントもIf~Thenステートメントと同じように、ネストができると勉強しているテキストには書かれているのですが、どんな風に使ったらよいのかわかりません。(If Thenはわかります) 実際に使った例を教えていただけないでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
例えば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
その他の回答 (3)
- GETSTREET
- ベストアンサー率18% (14/74)
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
お礼
回答ありがとうございます。 私にはすこし、難しかったようです。 でも、これから勉強して理解できるようになっていきたいと思います。 ありがとうございました。
- rotesKomet
- ベストアンサー率31% (83/265)
次の例でいかがでしょうか? 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
お礼
>Next の後の変数は省略できますが、どのloopか明確にするために、つける方が好ましいです。 わかりました。 CStr(lngCount_1) & "-" & CStr(lngCount_2) この辺が私には少し難しく理解ができませんでしたが、ネストの仕方としては理解ができました。 ありがとうございました。
- peugeot307
- ベストアンサー率22% (29/130)
for 行番号=1 to 10 for 列番号=1 to 10 ・・・ next next って感じですかね。
お礼
回答ありがとうございます。 行番号や列番号で使うことができるのですね。
お礼
勉強したことのある言語ばかりでしたので、とってもわかりやすく理解ができました。 ありがとうございました。