2007-10-03

データ解析システムオリエンテーション

この講義では、エクセルのシートに入力されたデータを解析するためのVBA (Visual Basic for Application)プログラミングを勉強します。今回はデータ解析に必要となる基本操作、入出力を勉強します。

まずセキュリティーレベルを中へ変更して下さい。これは一度だけ行えば良いです。但し時々設定が元に戻ってしまうことがあるので、プログラムが全く実行できなくなったときにはセキュリティーレベルが正しく設定されているか確認してください。 次に、プログラムを書くためのVisualBasicEditorを起動して下さい。今後ここにプログラムを書きます。プログラムはExcelではマクロとも呼びます。

実際にプログラムを書いてみましょう。VisualBasicEditorを起動したら、

をクリックして、標準モジュールを開いてください。開いたらプログラムを書きます。
まず最初にプログラムの名前を考えます。今回は「練習1」という名前にしましょう。

標準モジュールに

sub 練習1

と入力してEnterキーを押してください。すると自動的に
 Sub 練習1()
 
 End Sub

となったと思います。「Sub 練習1()」が練習サブプロシージャの始まり、「End Sub」がそのサブプロシージャの終わり、その間にプログラムを書きます。またExcel VBAの専門用語は自動的に最初が大文字に変換されます。大文字に変わらなかったらそれはVBAの用語ではないということです。VBAの用語を入力したつもりなのに変わらなかったら、綴りを間違えた可能性があります。

実際にプログラムを書きます。「Sub 練習1()」と「End Sub」の間の行に

cells(1,1)=1

と書いてプログラムを実行してみてください。ExcelのA1セルに1が代入されて

 AB
11 
2  
このようになった筈です。
このようにVBAからエクセルのシートへ書き込むことが出来ます。

次に進む前に、プログラムを保存してください。
また、保存したエクセルのファイルを開くときに注意することがあります。ここを間違えるとプログラムを実行することが出来なくなります。そんな時は一旦ファイルを保存してから閉じて、改めて開いてください。

さらにCells(1,1)=1の下に
cells(2,1)=2
cells(3,1)=3
と書き込んで実行してみてください。
あるいは
cells(1,2)=-2
cells(1,3)=-3
と書いて、cellsの二つの添え字がExcelのどのセルに対応しているか確認しましょう。

10個続けて書くには、
cells(1,1)=1
cells(2,1)=2
cells(3,1)=3
cells(4,1)=4
cells(5,1)=5
cells(6,1)=6
cells(7,1)=7
cells(8,1)=8
cells(9,1)=9
cells(10,1)=10

と書くのは大変なので、これをFor文を使って

for i=1 to 10
 cells(i,1)=i
next i

と書きます。

ここでプログラムを実行してみてください。

引き続きプログラムを追加します。

for j=1 to 10
 cells(1,j)=j
next j

ここでもう一度プログラムを実行して結果をみてください。

次に下のような九九の表ができるようにプログラムを考えて見ましょう。

講義中に、進度に応じた課題を出題します。
作成したプログラムのSub ...からEnd Subまでをメールの本文にコピーして提出してください。

レポートの提出先は fuedareport@ems.okayama-u.ac.jp です。
※メールを送る際、件名欄に課題の出た講義の日付及び氏名を入力してください。
(Webメールのアドレスは"www.center.ous.ac.jp"です。)
パスワードを忘れた人は、担当の先生に相談してください。

レポート提出以外の連絡は fueda@ems.okayama-u.ac.jp へ 送ってください。

0 件のコメント: