• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 九九 Do While)

VBAのDo Whileステートメントを使って九九の表をつくりたいのですが、詰まっています。

このQ&Aのポイント
  • 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

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

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)
回答No.4

質問の主旨とは違うと思うが、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

x8manami8x
質問者

お礼

なるほど。 ありがとうございます。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

#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 というのもある。

x8manami8x
質問者

お礼

知りませんでした。 ありがとうございます。

回答No.1

'変数宣言の強制。 '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

x8manami8x
質問者

お礼

リンクありがとうございます。 非常に参考になりました。