バナー画像

プログラミング教育などに
なぜ 
エクセル マクロ なのか? 3つの理由

 「プログラミング教育にエクセルマクロを使う」といえば「そんなエクセルの中でしか使えないプログラムなんかは、プログラミング言語ではないじゃないか。」という声が聞こえてきそうです。確かにExcel VBAが各種のプログラミング言語ランキングにのることはありませんし。「小学生にエクセルマクロを教えるなんて悪い実学志向だ。」という意見も出てきそうです。あるいは、エクセルマクロの時代は終わった。マイクロソフトもパワープラットフォームに力を入れてるではないかという意見もあるでしょう。
 しかし学校とは「社会に出て生き抜いていく子どもを育てる場」でプログラミング教育も必要だということです。プログラミング教育をする以上先生方もプログラミングをしなければなりません。しかしそんなことは難しいので取り合えず理科でいうと「教材キット」のようなものを使ってやっていこうとしています。でも、それは初歩の段階だけです。学校現場でエクセルを仕事で使う方はたくさんいますがマクロ(プログラム)を組む方はほとんどいません。しかしその仕事にエクセルマクロが使えると役に立つことがとても多いし さらにエクセルでプログラミング的思考を育てるツールも作れるし、プログラミング教育を先生たちが「考えながら」実践することができると考えています。

 勿論、エクセルだけがいいと思っているのではありません。たとえばスクラッチに興味がある。マインクラフトに興味がある。マイクロビットに興味がある。そしてそのプログラムを作る。あるいはそれを一部変えて教材化するというのはとてもいいことだと思います。ただ 今の学校教育でスタンダードなビジュアル型だけでなくテキスト型も考える必要があると思います。なぜなら社会一般はテキスト型プログラミングを使っているからです。今のままでは中学生高校生になってもビジュアル型が主流になり国のプログラミング教育政策とは反対にそれが後退する懸念があります。諸外国から取り残される危険性があるのです。なんといってもコンピュータの基本はプログラミングでありタイピングなのです。またパワープラットフォームはそれこそ実務に使うということを前提に開発されているのでプログラミング思考を育てるという点ではふさわしくありません。
 テキスト型プログラミングをやってみたいけど「Python」とか「 Javascript」という言葉を聞くと「何それ?」と思われる方、「本格的な」プログラミング言語は難しい という方はExcel マクロがいいかなと 思っています。


1 Excel自体にプログラミング環境を備えている。

 プログラミングを主な仕事にされてない方で アプリの開発などプログラムを組む方はそれぼどいらっしゃらないのではないでしょうか?プログラミングは難しく、ましてやそれを開発するためにまず開発のためのソフトを手に入れる必要があるのでハードルは高いと言わざるを得ません。しかしExcelなら最初から その開発環境がついているのです。
また、ステップイン機能 やブレイクポイントの設定など プログラムの開発になくてはならないエラーが起きた時のデバッグ環境もあります。ビジュアルプログラミングの代表であるスクラッチはそういう機能はほとんどありません。なぜならスクラッチはエラーをできるだけ起こさないように設計されたプログラミング言語だからです。
 またエクセルは ワークシートやセルという目に見えるものがあるので たとえば変数に値を代入していくなどの子どもにとっては理解が難しいことも実際のセルの値を見ることで理解が深まりやすい利点があります。


2 広く普及している。

 iOSやandroidの環境のパソコン(タブレット)がある小学校もありますが、やはり小学校ではWindowsパソコンが多く普及していると考えられます。さらに学校だけてなく社会にも普及していて20年以上の実績があり今後10年以上なくなることもないと思われます。
VBAのことを解説した本やネットのサイトがたくさんあります。それらは困ったときにとても役に立つし 困ったことを自分で解決する姿勢がアクティブ・ラーニングそのものなのです。



3 Excelプログラミング教材を自由に作ることができる。変えられる。

 研究授業を考えてみてください。授業は先生たちが話し合いながら指導案をたて工夫し教材を作成する力や授業する力をのばしてきました。
 ところがプログラミング教育はやったことがないし学んだこともないから「誰かのいう通り」「業者さんの作ってくれた指導案」のまま指導する。こんなことが起こってくるのでしょう。しかし,それだけではプログラミング教育の発展も先生方のアクティブラーニングの姿勢も生まれません。「業者さんの作ってくれたソフト・ロボット指導案セット」にもすばらしいものは沢山あるでしょうがそれは完成されたものであって先生たちは自由に変えられない。ここが一番の問題点になってくるのです。またともすると市販の教材は「先生受け」「子ども受け」つまり人気を一番に考えるので 先生にとって「簡単で」子どもにとって「楽しい」ことを一番に考える傾向があります。だから それさえやれば「プログラミング的」思考が身についたり、ましてやテキストプログラミングでコードが書けるようにはなりません。ビジュアルプログラミングではつかない力をテキストプログラミングの入り口として Excel VBAが良いかなと思っています。。

 ところでエクセルで「マクロ」と「VBA」は同じような意味でつかわれていますが本当は違います。「マクロ」というのはエクセルの操作を自動化するためのプログラムであり「VBA」というのはそのプログラミング言語です。厳密には[Visual Basic] というのが Microsoft社が開発したプログラミング言語それはExcelなどのアプリケーションのために作られたということで [for Application]その頭文字で「VBA」です。
 しかし、このサイトでは特にそれを意識して区別はしていません。

Copyright(C)2020 furutom