第3講 For文の学習

第6話 2次元ループによる成績一覧表の完成
第5話問題解答例
Private Sub CommandButton1_Click()
  Dim i As Byte, j As Byte, w As Single

  '生徒の合計点・平均点の計算
  For i = 1 To 40
    w = 0
    For j = 1 To
5
      w = w + Cells(6 + i, 1 + j)
    Next
    Cells(6 + i, 7) = w
    Cells(6 + i, 8) = w /
5
  Next

  '各教科等の合計点・平均点の計算
  For i = 1 To
7
    w = 0
    For j = 1 To
40
      w = w + Cells(6 + j, 1 + i)
    Next
    Cells(
47, 1 + i) = w
    Cells(
48, 1 + i) = w / 40
  Next

End Sub
この解答例は、第4話解答例の
Private Sub CommandButton1_Click()
  Dim i As Byte, j As Byte, w As Single

  '各生徒の合計・平均
  For i = 1 To
2
    w = 0
    For j = 1 To
3
      w = w + Cells(6 + i, 1 + j)
    Next
    Cells(6 + i,
5) = w
    Cells(6 + i,
6) = w / 3
  Next

  '各教科の合計・平均
  For i = 1 To
5
    w = 0
    For j = 1 To
2
      w = w + Cells(6 + j, 1 + i)
    Next
    Cells(
9, 1 + i) = w
    Cells(
10, 1 + i) = w / 2
  Next

End Sub
ピンクの数字だけ変更しています。
つまり、第5話問題は第4話問題ができれば、簡単にできるわけです。
第5話問題解答例と第4話問題解答例は本質的に同じであるわけです。

さて、皆さん完成してものを『成績一覧表完成版』というファイル名で保存しましょう。
(あるいは、成績一覧表完成版をダウンロードしていただいて、『成績一覧表完成版』の名前で保存されても結構です。)
さて、成績一覧表完成版は最初からデータが与えられていました。
これを改良して、データの作成も自動的に行わせるようにしましょう。
データ作成ボタンをつくります。そして、実行と消去のボタンの名称をそれぞれ、成績処理、データ消去に変更します。
h01
まず、成績一覧表完成版を『成績一覧表改良版』の名前で保存し直してください。
その上で、h02データの部分を消して空欄にしてください。
上書き保存をかけた上で、いったんエクセルを閉じましょう。
再度エクセルを起動して、『成績一覧表改良版』を開いてください。ただし、その際に
h03オプションをクリックし、
h04不明なコンテンツから保護する(推奨)を選んでください。
そして、Alt+F11でVisual Basicを起動し、
h05h06を押してください。
h07がでてきたらOKをクリックします。
Alt+F11でエクセルに戻ってください。すると、例えば実行ボタンをクリックすると、
h08となります。この状態だとドラッグで動かせます。実行と消去をドラッグで動かして、
h09開発タブをクリックして、
h010挿入をクリックして、データ作成ボタンを作ってください。
データ作成ボタンが作れたら、実行を右クリックしてプロパティ→Captionから実行の名称を成績処理に変更してください。
同様に、消去もデータ消去に変更します。
h011再度、上書きしていったんエクセルを閉じます。
再び『成績一覧表改良版』開きますが今度は、コンテンツを有効にしてください。
そして、Alt+F11をします。
今回は、まず
Private Sub CommandButton2_Click()

  Range("B47:H48").Select
  Selection.ClearContents
  Range("G7:H46").Select
  Selection.ClearContents
  Cells(1, 1).Select

End Sub
の部分を変更していただきます。
データ消去で、h012赤い枠のデータがすべて消えるようにしてください。



第5話へ 第7話へ

004


vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ

数学研究室に戻る