変数の練習

変数の練習です。

シートにボタンを作り、Wクリックしてください。
こうなります。


Private Sub CommandButton1_Click()

End Sub


この二行の間に挿入します。


Dim m_str_Hensuu As String
m_str_Hensuu = "適当な文字列"
MsgBox m_str_Hensuu

【アルゴリズム】 配列データ内の最大値を求める

配列hairetuに"11","22","33","44","55"と入っています。


Private Sub CommandButton1_Click()
Dim hairetu As Variant
Dim i As Long
Dim maxnum As Long

hairetu = Array("11", "99", "22", "33", "44")
maxnum = -1

For i = 0 To UBound(hairetu)
If hairetu(i) > maxnum Then
maxnum = hairetu(i)
End If
Next i

MsgBox maxnum

End Sub

とします。

【アルゴリズム】 平均を取る

「Application.WorksheetFunction.Average」のようにワークシート関数を用いてしまうやり方もエクセルVBAらしいですが、ここではちゃんとプログラミングとして行います。

配列hairetuに"11","22","33","44","55"と5つの要素が入っています。


Private Sub CommandButton1_Click()
Dim hairetu As Variant
Dim i As Long
Dim n As Long

hairetu = Array("11", "22", "33", "44", "55")

For i = 0 To UBound(hairetu)
n = n + hairetu(i)
Next i

n = n / (UBound(hairetu) + 1)

MsgBox n

End Sub

【アルゴリズム】 配列に同じ値がいくつあるかカウントする

配列hairetuに「課長」「部長」「係長」「副課長」「課長」「部長」と6個の要素が入っています。
この配列hairetuに”課長”がいくつ含まれているかカウントします。

Private Sub CommandButton1_Click()
Dim hairetu As Variant
Dim i As Long
Dim n As Long

hairetu = Array("課長", "部長", "係長", "副課長", "課長", "部長")
i = 0
n = 0

For i = 0 To UBound(hairetu)
If hairetu(i) = "課長" Then
n = n + 1
End If
Next i

MsgBox n

End Sub

【アルゴリズム】 配列から特定の値を探す

配列hairetuに「a」「b」「c」「d」「e」「f」と6個の要素が入っています。
そこからアルファベットfを探してみましょう。

(1)配列を作り、そこに上記のアルファベットを代入します。
Dim hairetu As Variant hairetu = Array("a", "b", "c", "d", "e", "f")

(2)次に、その配列の要素を順番に見ていきます。

For i = 0 To 5
MsgBox hairetu(i)
Next

そして、配列変数が「f」なら『見つかりました』と表示させます。 上の2つのコードをガッチャンコするとこうなります。

Dim hairetu As Variant
Dim i As Long

hairetu = Array("a", "b", "c", "d", "e", "f")

For i = 0 To 5
If hairetu(i) = "f" Then
MsgBox "見つかりました"
End If
Next

【アルゴリズム】 1から5までの和





Private Sub CommandButton1_Click()
Dim i As Long
Dim wa As Long

' 初期化。
i = 0
wa = 0

' ループ開始。
For i = 1 To 5
wa = wa + i
Next

' セル番地A1に変数waの現在値を表示。
Range("A1").Value = wa

End Sub