初心者にExcel2010のVBAを教えることになりました。相手は20~50くらいの学生・社会人10名程度です。プログラミング経験はほとんどない人も半分はいると思ってください。
初回の「つかみ」として、5分~10分くらいで作れて、かなり面倒なことが一瞬でできるマクロを、みんなで作らせたいと思います。
初回でまだVBA学習前であり、VBAを書かせるのは無理なので、「開発」タブの「コード」「マクロの記録」機能で実現したいと思います。
過去は「席替えマクロ」(Excelに何列かに並べた名簿を座席表に見立て、ランダムに入れ替える)で授業をしているのですが、他にいいアイデアがあれば募集したいと思います。実際の授業であなたが使った/教わったものであればボーナス点です。
よろしくお願いいたします。
年を入力したら 1年分のカレンダーを作成してくれる。
あと 祝日データを 用意して 祝日も色を変えたり 内容を出力したりする。
たぶん 「マクロの記録」機能では 難しいと思いますが。
書式の設定などや 土日の色変えとかやると いいかも。
ところで「席替えマクロ」って「マクロの記録」機能で作れるんですか?
1月から12月まで入力するマクロ
http://kokodane.com/macro15.htm
だわかき様、ありがとうございます。
ただこれは、自分が示した例と比べて
「おお、こんなめんどくさいこともマクロなら簡単にできるのか!」感がありません。
席替えでしたら、「席替えをやり直したい」という希望が出たときに、ボタン一発でやり押せますので。
というわけで、この程度の解答ではポイントはなしです。すみません・・・。
年を入力したら 1年分のカレンダーを作成してくれる。
あと 祝日データを 用意して 祝日も色を変えたり 内容を出力したりする。
たぶん 「マクロの記録」機能では 難しいと思いますが。
書式の設定などや 土日の色変えとかやると いいかも。
ところで「席替えマクロ」って「マクロの記録」機能で作れるんですか?
taknt様、ありがとうございます。
「席替えマクロ」ですが、
[1] 名前の横にRand()で乱数発生
[2] 乱数の昇順にソート
[3] 乱数削除
で行います。
仕事で、事務の人に聞かれて、こういうのが出来るよって教えてあげたのが……
(1)メールで定型文で相手に情報を書いてもらう
例
名前:
よみがな:
住所:
電話番号:
(2)上の4行をエクセル上へペースト
(3)マクロを記録して、なるべくコピペ等を駆使して書類を作り、マクロを保存
(4)あとはメールからコピペしてマクロ実行すれば書類を作りまくれる
単純過ぎる「誰もがマクロというものを知ったらまず使うやり方」ですが、実務に即しており、かつ、習った人がいつまでも忘れずにマクロを使い続けられるような感じの使い方だと思います。
結局VBAを覚えられない人でも、これはずっと覚えてくれるだろう、という意図もあります。
yossiy7様、ありがとうございます。良い回答だと思います。
とても参考になりました。
学校(??)プログラミングの講習ということかとおもいましたので、
データベースの概念を説明されては如何でしょうか。
いろんな個々に研究テーマでデータを収集させて集計する。
その過程でプログラムでグラフのマクロを作成するなどされたら、
プレゼン能力にも繋がりますし、データベースの理解も深まると思います。
sinrabanshyo様、ありがとうございます。
今回はVBAの授業で、すでにシラバスも配布してしまったので、大きな授業内容の変更はできないのです。
ですので、工夫できるとしたら、つかみの最初の10分程度なのです。
バブルソートみたいなのをやったらいいと思います。
頑張ったらマクロの記録だけでもできるような気がします。
わたしは、演習でソートとかを自分で考えろっていう課題があって、
ずるをしないで自分で考えたら楽しかったのでプログラムが少し好きになりました。
これからプログラムを勉強するんだったら、有名で簡単なアルゴリズムとかの動きを知っておくと興味が湧く人は沸くので、いいとおもうんです。
それかじゃんけんゲームみたいな簡単なゲーム。
doumorimikan様、ありがとうございます。
バブルソートですが、すでにExcelにソートの機能はあり、席替えでもその機能を使いますので、それで十分かと思います。
じゃんけんですが、あれ、けっこう複雑ですよ。
taknt様、ありがとうございます。
2013/04/30 22:20:49「席替えマクロ」ですが、
[1] 名前の横にRand()で乱数発生
[2] 乱数の昇順にソート
[3] 乱数削除
で行います。