今日の内容
- Excelの提出
- Excelでプログラムを書く
課題提出
前回、前々回に作ったExcelのファイルを確認のために提出してください。メールの件名は学籍番号と「Excel」、本文に
Excelでプログラミング
Excelを使ってプログラムを作ることが出来ます。C言語などの入門としても役立ちます。Excelではプログラムのことを「マクロ」と呼んだりVBA(Visual Basic for Application)と呼んだりもします。
準備
左上の丸いボタンを押して、「Excelのオプション」をクリックします。そして「[開発]タブをリボンに表示する」にチェックをつけてOKを押します。![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXxpoLH1TTTy5O-3bpgZzknnKDBasYXpg6Yron2iGTPKIL8Jq5viCEUU-S1rlo2fESQdSB5UGbBsRlgjkN82742i7nlhvQW5OXIrpsH6T0CGbiAoUV46TGy6c-p6gVno7EpP__FwJvEpE/s640/Excel3.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO4591Wuv1nXhLmxDbetwa9MJ6wHEEMYLQaPgnwYV8cnf5poLkKA6Cxm9LaGwhcU9YNutQWC3p3FM0m22gcCsSvPrcvnQeLGSKJ8qEtcmM9VYhSFkgvQ2BzywxQ3RhdStONdmhFlqCzv0/s640/excel4.png)
すると右端に「開発」が表示されるのでクリックして、マクロのセキュリティをクリックして、「すべてのマクロを有効にする」に●をつけてOKを押します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrl7Il9HKZN-z8zbFRuZn8s9nwpXiuXwbDdj4fuTq6ZIP4sYbW1knpiqmOKAr4cRqn93PcK7t_GABpjvuR4KgoSRtqB1mDqFZG1-Z7NJe_Z9KvzayYwF1AVZOsHznVzfElG4nzqcIJ1Sg/s640/excel5.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnmv3IjfWJ70O0kaqjP8qBFlS0vrqZaWs1bOS9C2yfsb0dS3_nkuWTy5sQYQTYYeXZMd3CqNlWVwT8SqP6xBh_eJEZRirPV81fkvuogR_DyAe5vE3mD1iFk4aAXQ8I5MsKMmjaX5cIa8I/s640/excel6.png)
これで、普通のパソコンなら準備は完了、なのですが、情報基盤センターでは「すべてのマクロを有効にする」に●をつけることが出来ません。仕方が無いので左上の「信頼できる場所」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-GqfJ1nZxEeiHIYgKrX6UapVyN4AnM_ydNaUL-AbSJjxDRwEAKWbLAZx_NOg6vM408T4Z2VfEMkio4ZIYKqq5breBi8h6X6vmN7HSMWIBWr0GMuI_y3C8QrcbhrAsRxy5-2uA7U0D01hK/s640/macro1.png)
「プライベートネットワーク上にある信頼できる場所を許可する(推奨しません)」にチェックをつけてから「新しい場所の追加」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGsrAkFKGu8KaPUIw49C7fh83An5HELgwszHgjCc3uqDZ2Py_fWmnkQ7D6AlXzOUYSlHPOJsK1o4TxIVIG9FmWH8STnR0PxAW_GAqbWY64XhtdTC1k_tFFs6puF_aDXKjLDkXFU_m3dfFi/s640/macro2.png)
「パス」欄の下の「参照」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJEEetMEmbpKXsJnbLEIHUuNvYsCtKHaXOaBMA51ALIIS4V-cs4qmvmPC_BXVNcOrmppLN13LknkZHoVNGNMPOJhx9icgw39uQvTM6u_-rzW3CAtwiUhlehsvUXGZadBKiNua-glGMm4mb/s640/macro3.png)
Z:ドライブを選びます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Jo6nGIqzp68D1AiAX_Ml1D2tpC83zj2V0aAz9m06JFmgXAFCewCbRKQ2wiLSeY-KzvHqhX8wkRq__TY1wB469oKoeNdAbX4x550RuAQNXdujW9KlJ8An0OqrTDErbcKqW-1UUWcDumnE/s640/macro4.png)
My Documentsを選びます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeKOm0vIz1XFVmUzZ1zvCfEaYjNZe5XA41eiNR_wWPLDxK9BwLCk4IaB1y44ByrQKToiuvEStACYFHC4DAoIvOyYmDHcLe07SqGQWxBpdoLQOw_NRDeg1AaP1UYIV0ZelV1BtC5gUG1_DA/s640/macro5.png)
「OK」を押します
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMG63dgY4-pEc8Snf-z04qlv5NZ286nC99SphcK1RnUd7zNhIf1SvkB952UsOilm_IMMQuLRfr-OVR7P_0fin8ilrmGRiVlNVFT0Re_D6Nnec7XQoQX-et3-17q1PsERvJRx8mIdTYfk7/s640/macro6.png)
パス欄がZ:\My Documentsになったことを確かめて、「この場所のサブフォルダも信頼する」にチェックをつけて「OK」を押します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCEU55zFxwEMlhPHcgA-Lb2PolyCVGm6RLUYQl6Ql-cdnj9XQ-Bfw0915S-JHc3zDP8oj_nrrTR9WvQ4IjKiEzU7oo7TWQUvbDWaM2RMZlYtJf6VLkh4uK-sKCtugVBW3GMX8ky4wN-RE7/s640/macro7.png)
するとこの画面に戻るので「OK」を押して、これでやっと準備完了です。
マクロ入門
ではマクロでどんなことが出来るか見てみましょう。「マクロの記録」をクリックしてください。マクロの名前を聞かれますので、ここはそのままOKを押します。![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFgPUDr9qrF3Y9PdazYbkZofpmNb-ltaMx2DTKXsFVHWz7Abmrk9ZE5gcj7IB7me2Y1c2ex-pq4NodFEjcqOQ-zI9-PaZhxFkc7GeJ1S3sIUtRLV2zsET-qkmvc4JSfyWPR5baLOoQzFQ/s640/excel7.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBgfLI1PxOmaWJ_GLdRnYSeed5ZAAHbAd992tVNvsuLkCDwHLGjHZUWhgHx-plxhgDrYri5lVUhOnCgRQUci326gmZWzFgFOs4ulHRDvINKVreOmaZCkG5FqJ9grLs-so5SDilAGT61AU/s640/excel8.png)
何か適当にExcelの操作をしてください。ここでは1から5の数字を入力してみました。
そして、記録終了をクリックしてください。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2yIWI_j2roUrP7CwBPkdy6ozF0zZAxQ7FYDEegS3-YhDPRpbActFXxVMS57srZ5I6_TTMlaHgt6RdEWva-amRqN6kIcM3hoqpgIv9m7E2BjNkMEQWlpm9sM6c0g-c5pvXyx6N5updyc8/s640/excel9.png)
すると、Excelは今の操作を全部覚えています。確かめるために、今入力したものを全部消してから、今度は「マクロ」をクリックしてください。するとどのマクロを実行するか聞かれます。今は一つしかないのでそのまま「実行」を押します。
すると、先ほど自分でやったことがそのまま繰り返されたはずです。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTv000syR8beGybr-BplZzn2l3a5EiTta2CidkQ2XEyNOdorxkELKk3g5bdqSqCcotQNGAGzvHzc2Yd7OKy0SkK-kRo206hJGPbjpSNJFsr9rquQ2_pjhhTNhDm8crNDN_m4-Pjtg5Mik/s640/excel10.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj58G6EN59OXs-uxxM4S17lmzXvveNAwMLCoBE46BxbZ0yF_Ac5LYvIBpIMc0TVd3kYSl0Lh4xXoE35XmTNVkZu4BxXC8DsFOq2StLXSSCzAm66x5stP65vb-hAFCc86EPyjZjyxJufEvo/s640/excel11.png)
一体どんな仕組みになっているか見るために「Visual Basic」のボタンを押します。するとVisual Basicの画面が開くので、左側のModule1をダブルクリックするとこの画面になります。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigCitZraS0P64U5QkqG36bhn3ztorEPFSPGoWJnM-9s_aphl0hdTUr8-iJjSWm-oij1Lv43wmiCPJlwLGu-uBf27INTuAvtBK10UeuFTd7jYATX7lWWqy7E2N9KHUCktf0Xry5-WvA-mI/s640/excel12.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNGcOCxPKFbPE2zjRzxMLG5TijtvEKkZHYroJ6wvgVsZgY0Q7nUnp3gmYQcT0sjmDlI4H711CpIeszUcfUsYRUSfSg6QXLMlFg1nGPc5HtUkwGIiNsXoBJgA2XwhCh2Frwq5Td7NNTvuo/s640/excel13.png)
先ほど「マクロの記録」をクリックしてから「記録終了」をクリックするまでの操作が全てプログラムに書かれたのです。今すぐ覚える必要はありませんが、ActiveCell.FormulaR1C1 = "1"は選択しているセルに1を代入しなさい、Range("A2").SelectはA2セルを選択しなさい、という命令です。
このように自分の操作をプログラムに記録するのではなくて、今度は自分でプログラムを書いてみましょう。今、人によって色々違うことを書いたと思うので、一旦Excelを保存せずに終了して、もう一度立ち上げて、先ほど同様「開発」をクリックして「Visual Basic」をクリックしてください。
プログラムを書く部分を用意したいので「挿入」をクリックして「標準モジュール」をクリックしてください。
現れた画面にプログラムを書きます。
まず
sub 練習
とだけ書いて、Enterキーを押してください。すると自動的に
Sub 練習()
End Sub
となり、カーソルは真ん中の空行にあります。そこに
cells(1,1)=1
と書いてください。これは上から1番目、左から1番目のセルに1を代入しなさい、という命令です。
プログラムを書いたら、上の右向きの三角をクリックしてください。するとさっきと同じように、どのプログラムを実行するか聞かれます。今は一つしか書いていないのでそのまま実行を押すと、A1セルに1が代入されます。Excelの画面で「マクロ」を押しても実行できます。
このプログラムを保存する時の注意。
左上の「上書き保存」を押すと、どの形式でファイルを保存するか尋ねられます。ファイルの種類として「Excelマクロ有効ブック」を指定してください。
さてこれでプログラムを書いて実行できるようになったので、具体的なプログラミングを始めましょう。
先ほどのCells(1,1)=1とEnd Subの間に
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
と書くとiの値が1から10まで変化しながらcells(i,1)=iの部分が繰り返し実行されますので、10行書いたのと同じプログラムになります。
九九の表
今度はVisual Basicを使って九九の表を作りましょう。For文を使うと
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1 | 2 |
2 | 4 |
3 | 6 |
4 | 8 |
5 | 10 |
6 | 12 |
7 | 14 |
8 | 16 |
9 | 18 |
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidL6PHETy4UtopazK1nRToV5a5OxesNVsXuG462zG6j5pnnU0UELjEeaAONnxTxhrvCloCYSSdTJaCnTb7AOgXvksaLsiaUOIsisZoS-SD403Jp79h9Nu5xLnZkcnxpER0DyNoJ4r0Tzk/s640/99.png)
0 件のコメント:
コメントを投稿