第10講 添え字付き名前を持った箱(配列)

第7話 3つの添え字付き名前もった箱(3次元配列)の活用


次は、3つの添え字付き名前もった箱(3次元配列)の活用による
初心者
を実現実現するプログラム例
Private Sub CommandButton1_Click()
  Dim i As Integer, j As Integer, k As Integer
  Dim a(3, 3, 3) As Integer
  For i = 0 To 3
    For j = 0 To 3
      For k = 0 To 3
        a(i, j, k) = 16 * i + 4 * j + k + 1
      Next
    Next
  Next
  For i = 0 To 3
    For j = 0 To 3
      For k = 0 To 3
        Cells(6 + 5 * i + j, 1 + k) = a(i, j, k)
      Next
    Next
  Next
End Sub
Private Sub CommandButton2_Click()
  Rows("6:200").Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub

では、
専門用語なしの vba マクロ 入門 2013 2010 2007 対応講義 第1部
の最後の課題を出しましょう。
配列データは
  For i = 0 To 3
    For j = 0 To 3
      For k = 0 To 3
        a(i, j, k) = 16 * i + 4 * j + k + 1
      Next
    Next
  Next
のままで、
vba
を実現するにはどうしたらよいでしょうか。

解答例は30行下。
































解答例
Private Sub CommandButton1_Click()
  Dim i As Integer, j As Integer, k As Integer
  Dim a(3, 3, 3) As Integer
  For i = 0 To 3
    For j = 0 To 3
      For k = 0 To 3
        a(i, j, k) = 16 * i + 4 * j + k + 1
      Next
    Next
  Next
  For i = 0 To 3
    For j = 0 To 3
      For k = 0 To 3
        If i = 0 Then Cells(6 + 5 * i + j, 1 + k) = a(i, k, j)
        If i = 1 Then Cells(6 + 5 * i + j, 1 + k) = a(i, j, 3 - k)
        If i = 2 Then Cells(6 + 5 * i + j, 1 + k) = a(i, 3 - j, k)
        If i = 3 Then Cells(6 + 5 * i + j, 1 + k) = a(i, 3 - j, 3 - k)
      Next
    Next
  Next
End Sub
Private Sub CommandButton2_Click()
  Rows("6:200").Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
vba


これで
専門用語なしの vba マクロ 入門 2013 2010 2007 対応講義 第1部 は
終了といたします。

長い間ご苦労様でした。
専門用語なしの vba マクロ 入門 2013 2010 2007 対応講義 第1部 は
第2部に引き継がれます。



第6話へ 第2部第11講第1話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る