TRAINIG1
今日、社長にこんな宿題を出されたの。
「下記の表を見て、各グループの合計金額を出してください。ただし、数式や関数は使用しない事。」だって。。。
(実際のファイルを一番下に、添付しているので参照してね。)
|
金額 |
グループ |
|
グループ |
合計金額 |
|
|
1 |
2,500 |
A |
|
A |
|
|
2 |
3,500 |
A |
|
B |
|
|
3 |
4,500 |
A |
|
C |
|
|
4 |
5,800 |
B |
|
D |
ここで、マクロの登場!!!
まず、はじめに設定した「開発」→「Visual Vasic」を開いてね。
細かい説明よりすぐに実戦に移るので p(≧田≦)スタタタタ
まずは慣れていこうかなっと。。。
青字は、全て実際のコードの部分になります。
Sub TRAINIG1() ←Sub マクロ名()
'変数定義 ←まず、コメントアウトしたいものには【 ' (シングルクォーテーション「Shift + 7」) 】をつける。
実際のシートでは、コメントアウトの部分は、緑字で表記される。
変数とはデータを入れる「箱」のこと。変数 = 設定値
データ型=変数がどういった値なのかをエクセルに説明する。
ex)
Integer→-32,768~32,767の整数値
Long →-2,147,483,648~2,147,483,648の整数値
String →文字列
Dim i As Integer ←Dim 変数 (半角)As データ型
Dim ahako As Double
Dim bhako As Double
Dim chako As Double
・
・
・
'グループごとの合計金額を出します。A-〇グループまでです。2008/x/y
'初期化します。箱の中身を0にします。
ahako = 0
bhako = 0
chako = 0
・
・
・
'2行目から◎行目までを観察します。ループの1例です。(他にもDo while
Cells(i,1)<>"" i=i+1 loop)
For i = 1 To ◎
'i+1なのは2行目から始まるからです。
制御構造(条件分岐)とは条件を満たす場合に一定の処理を実行したり、同じ処理を繰返し実行したりするためのステートメント。
if 条件式 Then
処理
End if
条件式を満たす場合は処理を実行。
if 条件式 Then
処理1
Else
処理2
End if
条件式を満たす場合は処理1を実行。
条件式を満たさない場合は処理2を実行
If Cells(i + 1, 3) = "A" Then
'累積するときはi=i+xみたいな
ahako = ahako + Cells(i + 1, 2)
End If
If Cells(i + 1, 3) = "B" Then
bhako = bhako + Cells(i + 1, 2)
End If
If Cells(i + 1, 3) = "C" Then
chako = chako + Cells(i + 1, 2)
・
・
・
'iの次の数に進みます。幅を2にしたいときは For i = 1 to 40 step 2
Next i
'記述します。
Cells(2, 6) = ahako
Cells(3, 6) = bhako
Cells(4, 6) = chako
・
・
・
MsgBox "Ayano Well Done!" ←実行終了後にメッセージやメール送付等も可能。
End Sub
ここまで、作成したら「▶」or「F5」にて実行。
そして、Excelのに戻ってみると・・・
表には、各A~Kの箱の金額が(^^)v