課題4 手順 (1)このファイルを kadai4.txt としてファイルに保存し、 (2)メモ帳を使ってプログラムの部分をコピーして、 (3)Excel を起動して、先週の kadai3.txt のファイルを読み込み、    (セルA8が社会保障関係、セルA15が文教、科学振興になっていることを     確認して下さい) (4)「挿入」-「マクロ」-「モジュール」でマクロシートを開き、 (5)貼り付け を行います。これを実行してみて、どうなるかを調べ、 次の問の答えを "fujii 宛てに電子メールで"送りなさい。 (問1)このマクロを社会保障関係予算に適用するようにするには、どこを  どのように変えればよいか、示しなさい。 (問2)社会保障関係予算に適用した結果は、どのようになりましたか。結果を  (結果のみでよい)示しなさい。 (問3)時間があれば、このマクロの欠陥を指摘し、その対策を行うには  どこをどのように変えればよいか示しなさい。 -------(この次の行からコピーする)---------------------------- Sub FindMaxIncrease() '最大増加率を示した項目を見つけ、その項目の名前を '年度毎にセルに示すプログラム '項目は行方向に並んでいるとする。 '年度毎の値はカラム方向に並んでいるとする。 '各行の最初のカラムには項目の名前が示されているものとする。 Dim workrange As Range '調べる表の範囲 Dim i As Integer '繰り返しのための変数(項目用) Dim j As Integer '繰り返しのための変数(年度用) Dim maxincrease As Double '最大増加率の途中経過を保存する変数 Dim change As Double '前年度比 Dim maxitem As Integer '最大増加率を示した項目の行位置 Dim numitems As Integer '調べる項目の数 Dim numyears As Integer '調べる年度の数 Dim yearstart As Integer '初年度のカラム位置 Set workrange = Worksheets("kadai3").Range("A16:E22") yearstart = 2 numyears = 4 numitems = 6 With workrange For j = (yearstart + 1) To (yearstart + numyears) '初年度の翌年から指定された年数繰り返す maxitem = 0 '最大増加率を示した項目の行位置を初期化(有り得ない値にしておく) maxincrease = -2# 'これまでの最大増加率の値を初期化(有り得ない負の大きな値にしておく) For i = 1 To numitems '指定された項目数だけ繰り返す change = (.Cells(i, j) - .Cells(i, j - 1)) / .Cells(i, j - 1) '変化率を計算 If change > maxincrease Then 'もし、変化率が、これまでの最大増加率より大きければ maxitem = i '最大増加率を示した項目の行位置を、いまの項目の行位置にして、 maxincrease = change 'これまでの最大増加率を、いまの変化率で置き換える。 End If Next i .Cells(numitems + 1, j) = .Cells(maxitem, 1) '見つけた最大増加率の項目の名前(1カラム目にあるとする)を項目の下にコピー Next j End With End Sub ---------(この上の行までコピーする)-------------------------