東洋大学講議資料              2001(c)旭貴朗

アルバイト賃金計算

albeit.gif
Excelマクロ(モジュール)例albeit.xls

1.概要

 Excelという表計算ソフトを使って、アルバイトの賃金計算をしてみよう。あらかじめ氏名、時間給、交通費単価、勤務日数、勤務時間を記入しておく。そして、各ボタンをクリックすると、上の枠で囲まれた左のセルのデータを処理して、右のセルに処理結果(交通費と支給額)が書き込まれます。本来はボタンの必要がないものだが、練習のためにやってみる。
  交通費=交通費単価×勤務日数
  支給額=時間給×勤務時間+交通費

2.作り方

 Excelを起動すると、まずは縦横に罫線がはいったウインドウがあらわれる。そこに、とりあえずデータを入力する。さらに、3つのボタンを作成し、そのなかにプログラム(Visual Basic for Application言語のプロシージャ)を書く。

3.作業の詳細

 表計算ソフトExcelを起動して下さい。

・初期データの入力
 各セルに、上図のようなデータを入力してください。

・4つのボタンを作成してください(フォームツールバーでフォームをデザインする)。
 「表示」→「ツールバー」→「フォーム」 で コマンドボタンを「新規作成」する。

・処理プログラムを書く。
 各コマンドボタン(コントロール)をoption+clickして選択する。
フォームツールバーの右下の「コードの編集」アイコンをクリックして、つぎのようにコードを入力する。

------<各ボタンのクリックイベントに対するプロシージャ>------

Sub ボタン1_Click()
 kotsuHi = Cells(4, 3) * Cells(4, 4)
 Cells(4, 7) = kotsuHi
 Cells(4, 8) = Cells(4, 2) * Cells(4, 5) + kotsuHi
End Sub

Sub ボタン2_Click()
 For i = 4 To 8
  kotsuHi = Cells(i, 3) * Cells(i, 4)
  Cells(i, 7) = kotsuHi
  Cells(i, 8) = Cells(i, 2) * Cells(i, 5) + kotsuHi
 Next i
End Sub

Sub ボタン3_Click()
 For i = 4 To 8
  If Cells(i, 5) > 0 Then
   kotsuHi = Cells(i, 3) * Cells(i, 4)
   Cells(i, 7) = kotsuHi
   Cells(i, 8) = Cells(i, 2) * Cells(i, 5) + kotsuHi
  End If
 Next i
End Sub

Sub ボタン4_Click()
 For i = 4 To 8
  Cells(i, 7) = ""
  Cells(i, 8) = ""
 Next i
End Sub


4.サンプルプログラムの解説(VBA言語入門)

●ボタン1は,第4行目だけを計算します.
全般:かけ算は*印、足し算は+、割算は/を使います。
セルの値の参照と代入
  Cells(i,j)は、I行j列のセルを意味します。例えば、="asahi"で、asahiという文字列が代入されます。

●ボタン2は,すべての行を計算します.
For文で,変数iを使った繰返し計算をしています.
 1行目:For i=4 to 8
     〜処理部
 5行目:Next
 変数iに4から8まで代入しながら、For命令とNext命令に挟まれた処理部を繰返して実行する。

●ボタン3は,「もしも勤務時間が0以上なら」計算します.
つぎの,if文が挿入されています.
 2行目:If Cells(i, 5) > 0 Then
     〜処理部
 6行目:End If

●ボタン4は,空白を挿入しています.


5.その他

 あなたの作成するプログラムは、VBA言語の文法にしたがっていなければなりません。VBAは、この例では簡単ですが、奥が深いものなので、さらなる修練をつむことができます。(このプログラミングのためのユーザグループMicrosoft Office User Groupもあります。)