第13講 3次元ループと3次元配列による成績一覧表の高度化
第6話 グローバル3次元配列利用による年間処理
解答例
Dim h(2, 39, 4) As Byte
Private Sub CommandButton1_Click()
・
・
Private Sub CommandButton3_Click()
Dim i As Byte, j As Byte
For i = 1 To 40
For j = 1 To 5
h(0, i - 1, j - 1) = Int(100 * Rnd())
Cells(6 + i, 1 + j) = h(0, i - 1, j - 1)
Next
Next
End Sub
・
・
Private Sub CommandButton6_Click()
Dim i As Byte, j As Byte
For i = 1 To 40
For j = 1 To 5
h(1, i - 1, j - 1) = Int(100 * Rnd())
Cells(53 + i, 1 + j) = h(1, i - 1, j - 1)
Next
Next
Cells(71, 1).Select
End Sub
・
・
Private Sub CommandButton9_Click()
Dim i As Byte, j As Byte
For i = 1 To 40
For j = 1 To 5
h(2, i - 1, j - 1) = Int(100 * Rnd())
Cells(100 + i, 1 + j) = h(2, i - 1, j - 1)
Next
Next
Cells(117, 1).Select
End Sub
・
・
Private Sub CommandButton10_Click()
ds '年間平均
f41 '生徒の合計点・平均点の計算
f42 '各教科等の合計点・平均点の計算
f43 '各生徒の合否判定
f44 '各生徒の講評
f45 '各生徒の最高点の算出
f46 '各生徒の最低点の算
f47 '各教科と合計・平均の最高点の算出
f48 '各教科と合計・平均の最低点の算出
Cells(162, 1).Select
End Sub
Sub ds()
Dim i As Byte, j As Byte, k As Byte, w As Single
For i = 1 To 40
For j = 1 To 5
w = 0
For k = 1 To 3
w = w + h(k - 1, i - 1, j - 1)
Next
Cells(147 + i, 1 + j) = w / 3
Next
Next
End Sub
・
・
省略部分は同じ。
参考ファイル成績一覧表マクロ(シート1枚版)完成版2
第5話へ 第7話へ
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る