第13講 3次元ループと3次元配列による成績一覧表の高度化

第2話 成績一覧表マクロ(シート1枚版)のコード作り準備(コピペの活用)

第1話で作ったファイル『成績一覧表マクロ(シート1枚版)』いったん閉じて、
再度開いてください。その際に、オプションは『このコンテンツを有効にする』を選んでください。
1学期データ作成・1学期成績処理・1学期データ消去の各ボタンが有効であることを、
それぞれをクリックされて確認しましょう。
もし、どれかのボタンが有効でないとすればボタンを作るときにケアレスミスをしたことになります。
今回サンプルで示している『成績一覧表マクロ(シート1枚版)』は、ケアレスミスをしているため1学期データ消去ボタンが有効ではありません。
実際、ダブルクリックして開いてオプションで『このコンテンツを有効にする』を選んで、1学期データ消去ボタンをクリックしてみましょう。
何が問題でしょうか。
問題を明らかにするために、いったんファイルを閉じて、再度『成績一覧表マクロ(シート1枚版)』をダブルクリックして開きますが、
その際、オプションは『不明なコンテンツから保護する』を選びます。
Alt+F11をして、Visual Basicを起動します。
a
デザインモードの終了ボタンsをクリックします。
Alt+F11でエクセルに戻ります。
1学期データ消去ボタンをクリックすると、d編集が可能であることを示すハンドルマークが出てきます。
右クリックしてプロパティを選びます。
g
CommandButton8は、1学期データ処理ボタンがもとのボタンではなく、ペーストによって貼り付けられたボタンであることを示しています。
1学期データ処理ボタンを有効にするためには、CommandButton8をCommandButton2と変更します。
上書き保存して、いったんファイルを閉じて再度『成績一覧表マクロ(シート1枚版)01』を開きます。オプションは、『このコンテンツを有効にする』を選びます。
1学期データ処理ボタンは有効になっています。
Captionは、1学期データ消去ボタンとなっていますが、これはボタンの表示上の名前であって本当の名前ではありません。
本当の名前は、CommandButton2です。
Captionは、渾名でオブジェクト名は本名です。
ボタンを作る際に、何らかのミスをして本名がCommandButton2からCommandButton8へと書き換わってしまったために、
1学期データ処理ボタンが有効でなくなってしまっています。
ですから、本名を元に戻すだけで有効になります。
Alt+F11でVisual Basicに戻って、
もし、
Private Sub CommandButton8_Click()

End Sub
のようなものが出来ているときは、他の学習者と合わせるために削っておいてください。


ここから学習を始める人は、『成績一覧表マクロ(シート1枚版)01』を開いて、ファイル名『成績一覧表マクロ(シート1枚版)』で保存しておきましょう。
Alt+F11でVisual Basicに戻ります。コードが、
Private Sub CommandButton1_Click()
         ・
         ・
End Sub


Function g1(t As Byte, a As Byte)
         ・
         ・
End Function


Sub f1()
      ・
      ・
End Sub


Sub f2()
      ・
      ・
End Sub

Sub f3()
      ・
      ・
End Sub

Sub f4()
      ・
      ・
End Sub


Function g2(t1 As Byte, t2 As Byte, a As Byte)
      ・
      ・
End Function


Sub f5()
      ・
      ・
End Sub


Sub f6()
      ・
      ・
End Sub


Sub f7()
      ・
      ・
End Sub


Sub f8()
      ・
      ・
End Sub


Private Sub CommandButton2_Click()
      ・
      ・
End Sub

Private Sub CommandButton3_Click()
      ・
      ・
End Sub

となっています。これからコピー・ペースト(通称コピペ=コピーして貼り付け)を利用して、2学期以降の各処理ボタンのコードを作っていきます。
Private Sub CommandButton1_Click1などのコードは、一部だけ書き換えれば、そのまま使えるからです。
プログラミングにおいては、コピペをうまく活用してください。
まず、上から下までドラッグで
h
        ・
        ・
k
範囲指定をします。右クリックしてコピーを選びます(あるいは、Ctrl+C=CtrlとCを同時に押す)。
そして、範囲指定2行ぐらい下で右クリックしてコピーを選びます(あるいは、Ctrl+V)。

そうすると同じコードが2つになります。
そして、また2行ぐらい下で再び右クリック→貼り付け(あるいは、Ctrl+V)をします。
これを2回繰り返します。
そうすると同じコードが4つ出来ます。
一番目が1学期用各処理コードで、二番目以降を改良して2学期・3学期・年間の各処理コードにします。

同じコードが4つ出来ているため、Alt+F11でエクセルに戻ろうとすると次のようなエラー表示が出てきます。
k
エラーは後で解消しますので、エラー表示が消えるまで何回もOKをクリックしておきます。続きは次話で。




第1話へ 第3話へ

004
  


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

数学研究室に戻る