- ベストアンサー
VBAのDo Whileステートメントを使って九九の表をつくりたいのですが、詰まっています。
- VBAのDo Whileステートメントを使って九九の表をつくりたいのですが、何度やっても途中で詰まり、実行に至りません。
- For NextとDo untilではできたと思うのですがDo Whileがどうしてもわからなくて… どなたか助けてください。
- Sub 九九計算_for() Dim i, j As Integer For i = 1 To 9 For j = 1 To 9 Cells(i, j).Value = i * j Next Next End Sub Sub 九九計算_do_until() j = 1 Do i = 1 Do Cells(j, i).Value = i * j i = i + 1 Loop Until i = 10 j = j + 1 Loop Until j = 10
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Sub 九九計算_do_while() Dim i As Integer Dim j As Integer j = 1 Do While j < 10 i = 1 Do While i < 10 Cells(j, i).Value = i * j i = i + 1 Loop j = j + 1 Loop End Sub
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の主旨とは違うと思うが、2重ループにしなくても出来る。 Sub test02() x = 0 Do While x < 81 i = Int(x / 9) + 1 j = (x Mod 9) + 1 'MsgBox i & " " & j Cells(i, j) = i * j x = x + 1 Loop End Sub
- okormazd
- ベストアンサー率50% (1224/2412)
#2です。 Sub 九九計算_while() Dim i As Integer Dim j As Integer j = 1 While j < 10 i = 1 While i < 10 Cells(j, i).Value = i * j i = i + 1 Wend j = j + 1 Wend End Sub というのもある。
お礼
知りませんでした。 ありがとうございます。
- himajin100000
- ベストアンサー率54% (1660/3060)
'変数宣言の強制。 'http://d.hatena.ne.jp/juku-cho/20090415/1239752983 'VB.NETのものなのでVBAでは殆ど使えないが、非常に参考になるので一読を。 'http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard43.htm Option Explicit 'VB.NETでは通常 Option Explicit Onと書く Sub 九九計算_do_while() Dim i As Integer Dim j As Integer j = 1 Do i = 1 Do Cells(j, i).Value = i * j i = i + 1 Loop While i <> 10 ' 条件変えただけ j = j + 1 Loop While j <> 10 ' 条件変えただけ End Sub
お礼
リンクありがとうございます。 非常に参考になりました。
お礼
なるほど。 ありがとうございます。