次のコードを使用して乗算表を印刷しようとすると、
Dim se As String
Label1.Text = Space(35) & "九九乘法表" & vbCrLf
Label1.Text &= Space(35) & "-----------" & vbCrLf
For i = 1 To 9
Label1.Text &= Space(8 * (i - 1) + i)
For j = i To 9
se = i & "×" & j & "=" & i * j
Label1.Text &= se & Space(8 - Len(se))
Next j
Label1.Text &= vbCrLf
Next i
下の図のように、必要に応じて適切に配置されたテーブルが得られます
Label1.Text &= Space(8 * (i - 1) + i)
5行目を変更すると
に変換するLabel1.Text &= Space(8 * (i - 1) )
と、テーブルは次のようになります。
私の質問は次のようになると思います:「i」スペースをさらに追加する必要があるのはなぜですか?
Edper の回答に感謝します。
しかし、なぜこのような追加の増分スペースが必要なのか混乱していますか?
を使用しているとしましょう Label1.Text &= Space(8 * (i - 1) )
。すると、最初のループにはスペースがなく、2 番目のループには 8 つのスペースがあり、3 番目のループには 16 のスペースがあります。
より具体的には、1x1=1 の式の後、3 つのスペースがあるため、1x2=2 の直前に 8 文字があり、2 番目のループに 8 つのスペースがある場合、2x2=4 は 1x2=2 と整列する必要がありますが、しませんでした。それが私が疑問に思っていることです。