配列を使ったデータ集計
Step5

配列

VBAに限らずプログラミングを学習する上での基礎知識です。。

1. 変数と配列

📦 変数

Dim score As Integer

📌メモリにひとつの値を保存する場所が用意される

📦 配列

(0)
(1)
(2)
(3)
Dim score(3) As Integer

📌メモリに連番で値を保存する場所が用意される
それぞれの場所に インデックス(0, 1, 2...)が付く。
インデックスは添え字ともいう。

2. UBound関数(中級レベル)

UBound(Upper Bound)は、配列の最後のインデックス番号を取得する関数

UBound(配列名)

たとえば、次のような配列があるとします:

Dim score(3) As Integer

' 配列の各要素に値を代入
score(0) = 85
score(1) = 90
score(2) = 78
score(3) = 88

このとき、UBound(score) の結果は 3

📦 UBoundを使った繰り返し処理

Dim i As Integer
For i = 0 To UBound(score)
    Debug.Print score(i)
Next i
サンプルコード

データの合計・件数・最大値・最小値を求める

Dim score(9) As Integer
Dim i As Integer
Dim total As Long
Dim maxScore As Integer
Dim minScore As Integer
Dim count As Integer

' 得点データ
score(0) = 85
score(1) = 90
score(2) = 78
score(3) = 88
score(4) = 95
score(5) = 72
score(6) = 60
score(7) = 91
score(8) = 84
score(9) = 77

total = 0
count = 0
maxScore = 0       ' 最小の整数で初期化
minScore = 100     ' 最大の整数で初期化

For i = 0 To UBound(score)
    total = total + score(i)
    count = count + 1

    If score(i) > maxScore Then maxScore = score(i)
    If score(i) < minScore Then minScore = score(i)
Next i

' イミディエイトウィンドウに出力
Debug.Print "Total (合計): " & total
Debug.Print "Count (件数): " & count
Debug.Print "Max (最大値): " & maxScore
Debug.Print "Min (最小値): " & minScore
Total (合計): 820
Count (件数): 10
Max (最大値): 95
Min (最小値): 60

戻る


© 2026 - Blazor 情処の味方

サポーターズ
Thread Light
An unhandled error has occurred. Reload 🗙