アットウィキロゴ

TRAINIG1

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

 

タグ:

+ タグ編集
  • タグ:
最終更新:2008年03月14日 13:26