ITスペシャリストが語る芸術

-The Kay Notes-
あなたをSE、プログラマー、あるいは、超能力者にするブログ。ひきこもりも歓迎。

VBA

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2019/12/28]AI&教育問題専用ブログ、メディアの風を公開しました。
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。
[2011/06/08]迷惑コメントが多くあったため、やむなく、コメントを承認後公開することとしました。

社会と仕事の現実と希望の光

就職難と言われるが、高度経済成長期やバブル景気の時期ですら、そう言われていた。
一方で、いつでも、大なり小なり、人手不足があった。
今もまた、就職難と同時に、深刻な人手不足、労働力不足なのだ。
難しい話ではなく、皆が、楽で給料が高い仕事、さらに、保証が手厚い会社を望んで、そんな「美味しい」職場の就職の競争率が高く、一方、いわゆる3K(きつい、きたない、きけん)現場(プラス安月給)は、誰もやりたがらないので、働く人が足りない。
要するに、選ばないなら仕事はいくらでもある。
とはいえ、ある程度はちゃんと選ばないと、ブラック企業も多くなっているので、仕事が厳しいだけでなく、詳しくは書かないが、うっかり、やってはいけない仕事に就いてしまいかねない。
今の時代、就職なんかしなくて良いと言う者達も増えてきたが、「では、具体的に私はどうすれば就職せずに稼げますか?」と尋ねても、曖昧な概念を示されるだけで、何の問題解決にもならない。
「今は、アドセンスやアフィリエイトで稼げるのです」なんて言うのは、冗談か嘘である。少なくとも、普通の人に対しては。
ジェームス・スキナーの『寝ながら稼ぐ』なんて本があり、「あなたにも出来る」とあるが、書いてあることは、「ブログを開き、そこにアフィリエイトの広告を貼れば、自動的にお金が入ってくるのです」という夢物語だ。そりゃ、スキナーのように、大きな会社の経営に携わり、自分でも沢山の会社を立ち上げて成功し、ベストセラーを何十冊も書いた凄い人なら、ブログに広告を貼れば儲かるのかもしれないが、普通の人がブログを開いても、収益が月に5千円になれば大成功の部類だ。
「いや、俺はブログで月百万円以上稼いでいる」と言う者もいるが、それが本当か嘘かとか、やり方が違法か合法かという以前に、99%の人には無理だ。
「普通のサラリーマンだった僕がブログで生計立ててます」なんて本もあるが、見れば、そんな人は、とてもじゃないが普通の人でない。
また、中高生がネットで高収益を上げて話題になることがあるが、ネットがない時代ですら、そんな人(稼ぐ学生)はいた。しかし、それは、長くは続かないのだ。
絵や音楽で生きていきたい人も多いと思うが、人気イラストレーターや人気ボカロPですら、それだけでは食べられない人の方が多く、少し稼げていても、それはほんの一瞬だ。

何とも夢のない話である(笑)。
誤解を恐れず言えば、誰でも就職出来る職場に、介護と警備がある。給料は安く、ほとんど座っていることが出来ず、夏は暑く、冬は寒いところにいることが多く、とてもではないが楽は出来ない。ただ重労働というだけでなく、不意に辞めたり、休んだりする人も多く、管理者の苦労もだが、そのしわ寄せで、本当に何やらされるか分からないらしい。
私も、ブラックな仕事にはかなり就いたと思うが、私程度では、それほど黒くないかもしれない。
私のように、若いうちにブラックな状況にあったとしても、それが良い経験になるのだから、若さとは素晴らしい・・・とはいえ、職場によっては、若いうちに、歪められたり腐ったりしてしまう。
まして、いい歳をしてブラックな仕事についたら、かなりヤバい。
安倍政権が、大中企業の収益を向上させたことは確かで、それは立派な業績であるとは思うが、小・零細企業に関してはほとんど手付かずだ。

だが、「特技は何?」と聞かれて、「これです」と自信を持って即答出来る人なら、自分で状況を良くしていける。少なくとも、その方法が見つかる。
20数年、教師やってましたという人がいたが、事情は知らぬが、とにかく、教職をやめたら、特技なんて何もないし、歳も歳なので、楽な仕事に就けない。
そんな訳で、私としては、ExcelやAccessを、マクロ(VBAプログラミング)まで出来るようになっておくことをお薦めする。
JavaやPythonやRuby、PHP、C/C++、C#等は、周辺技術がないと、まともに仕事が出来ず、いわば、牧童のようなもので、若いうちから経験を積んでいないと、いきなりやって出来るものではない(無理ではないが)。
それなら、比較的、それだけで仕事になり、うまくいけば、楽で良い思いが出来るExcelマクロやAccessマクロをマスターして損はないと思う。
また、これらは、まかり間違って、かなり飛躍出来た場合にこそ、強力な武器になってくれる。
そして、案外に、SE、プログラマーとしての需要も多く、それは、3Kが多い開発会社ではなく、今後主流になるべき(アメリカでは主流)社内開発要員としてである。
どうやって覚えれば良いかというと、昨日も書いたが、どの本も同じなので、1冊覚えれば良い。
ちなみに言っておくと、Excel、Accessマクロを、生半可に覚えて3Kに陥っている者も、高度にマスターして仕事もせずに楽をしている人も、両方、よく見る。











45歳からプログラミングを始めて成功した人

プログラミングを学んで人生を変えた人と言えば、QPONさんがいる。
彼は別に、大事業を行った訳ではなく、プログラミングで人生を充実させ、私が普段よく言う「良い想い」をたっぷりしてきたし、今もしているのだと思う。
私が彼のWebサイトを見つけたのは7~8年前と思う。
HTMLでの手作り感バリバリのシンプルなサイトだが、分かり易くて気持ち良い。

QPONを育てたN88-BASIC

QPONさんは、1957年に高校を卒業してトヨタ自動車に入社。
1983年、45歳の時に、NECのパソコンPC-6001を購入する。
当時のパソコンには、BASICというプログラミング言語が搭載されていて、それでプログラムを作ることがほとんど唯一の用途だった。
NECのパソコンには、後にBASICの日本の標準とでも言うべきN88BASICが搭載されていた。
QPONさんもプログラミングに取り組み、これをマスターし、会社の仕事に生かし、また、新聞、テレビ等、様々なメディアに取り上げられている。
51歳の時に、高卒としては異例のトヨタの次長に昇進。
優良企業である中央発條株式会社の参与にもなっている。
以前のQPONさんのホームページでは、62歳で定年退職した後は、JavaScriptでゲームを作っているようなこと以外はあまり書かれないまま更新されていなかったので、私がこのサイトを見つけた2012年くらいの時は、「まだ生きているんだろうか?」とか思っていたが、80歳の今もご活躍中で、昨年2月には、Webサイトの訪問者数が2億人を突破したようだ。沢山の無料ゲーム、Webツール、ブログ、学習コンテンツがある。

「還暦QPON傘寿」ホームページ

まさに、N88BASICプログラミングで人生を変えたと言える。
AIで世界トップレベルのベンチャー、Preferred Networks(プリファードネットワークス)の西川徹社長も、N88BASICから入ったと何かの記事で見た(彼は中学生だったかと思う)記憶があるが、実は今でも、N88BASICは人気がある。シンプルで分かり易いし、パソコンに電源を入れたらすぐに使えた。
私も、N88BASICはかなりやったクチである。

我々のような普通の人には、プログラミングで何かをしようと思ったら、QPONさんの姿勢が最も参考になると思う。
今は、N88BASICは普通には使えないが、今なら、Excelマクロ(VBAプログラミング)がそれに相当するのではないかと思う。
あるいは、AccessでVBA言語でプログラミングするのでも良いと思う。
QPONさんは、今は、JavaScriptを主に使われていて、これは現在、Pythonと並び、最も人気があるプログラミング言語で、特に若い人には習得を薦めたいが、オフィスの現場で有益なのは、何と言ってもVBAで、これは極めて強力なツールでもある。
これを学べば、QPONさんとはまた違う方向になるかもしれないが、ITで人生を充実させる大きなきっかけになると思う。
今後は、AIを自分で作る時代が来るが、その際にも、AIに与えるデータの作成・加工に大いに役立つはずで、AIへの扉が大きく開かれることになると思う。
AIの作成自体はツールを使う時代で、誰でも作れるが、そのための適切なデータは人間が用意しなければならないからである。











学生気分ではプログラミングは習得出来ない

職場に、30歳も過ぎているのに、特技は何もない上、コミュニケーション能力や社会常識もない男子がいて、雑用ばかりやらされていた。
また、彼は、先輩の命令で図書館に行ってIT関係の本を借りてきては、スキャナーで全ページ複製させられていた。それを社内共有しているのだから違法行為で、犯罪に加担させられている訳でもある(告発が必要か?)。
そこで私は、ExcelのVBAプログラミングの勉強を勧めると、彼も意欲を示したので、たまたま持っていた適当な入門書をあげると、彼も喜び、彼の自宅にExcelが使えるパソコンもあるので、勉強すると約束した。

数日経って、私は彼に、(Excel VBAの勉強を)やっているかと尋ねたら、彼は、憂鬱そうに言う。
「やってますが、本に書いてあるプログラムが動かないんです」
そして、本の内容について、本は自宅に置いてるので「あそこのあれ」という感じで尋ねてくるが、私は内容を覚えている訳ではないので、分かるはずがない。
そういえば、記述の誤りがいくつかあったことを思い出す。
私は、彼に、本に間違いがあるかもしれないと言うと、彼は「僕もそう思う」と言い、非常に困った様子を見せた。

しかし、本に誤りがあることは珍しいことではない。
特に、プログラムの間違いは多いのではないかと思う。
だが、それを自分で解決することで力が付くのであり、むしろ、そんな間違いは天の恵みとすら言える。
学校の教科書は、ほとんど間違いがないが、それが当たり前であると思わない方が良い。
結局、彼は、その勉強をやめてしまった。
何度か聞いたが、その度に「本の内容がおかしい」といったことを言っていたと思う。
改めて言うと、学校じゃないのだから、多少、本の内容がおかしかったり、間違いがあるのは当たり前だ。
間違いがなく、隅々まで配慮されてると思う方がおかしいのだ。

彼を見ていると、社会でうまくやっていけない人間とはどんなものかが解り、非常に興味深かった。
ある時、彼は、朝、廊下で他の社員が自分に挨拶してくれなかったと言う。
言うまでもなく、学校じゃないのだから、そんなことだってある。
そもそも、冴えないオッサンに挨拶したいなんて誰も思っていないという現実を認識していないことが問題だ。
そして、分かってきたが、Excel VBAプログラミングの勉強を通じて構ってやると、彼は私の前で、深刻に落ち込んで見せることが多くなった。
「調子が悪い」とかもよく言う。
私は言ってやった。
「若い女の子が調子が悪いと言ったら、皆がこぞって、『どうしたの?』『何かいる?』とか言ってくれるが、我々のようなキタナイおっさんがそんなことを言っても、ウザいだけだろ?」
「16の美少女と同じ扱いを求めるな」

彼のは、少々極端だが、彼に似た者は多いし、近年は、特に増えてきたと思う。
特に、若い世代の大半はそうで、それは、学校で、おかしな形で子供の権利を守ろうなんて言われるようになったからだが、おかしなことに、そうなるごとに、人権を踏みにじられる子供が増えているのである。
その理由は簡単で、馬鹿な人間というものは、「子供の権利を守ろう」ときれいごとを言い、規定なんてものを作れば、それで終りなのだ。
つまり、当事者として向き合う覚悟が全くない者達が、教育界の指導者なのである。
これでは、学校の有り様が歪むのが当たり前である。
アメリカ等では、学校を廃し、「教育は無用」と考え、子供を自主的に学ばせる「アンスクール(非学校教育)」が注目されている。
教育の専門家などという気色の悪い者は不要である。
社会で、モノを作り、売り、サービスを行うプロと接触することで、子供は成長する。
お勉強だけしてきた人間に子供をまかせるなんて恐ろしいことがよく出来るものだと思う。
学校がある限り、日本に未来はないだろう。
日本の学校の中では、ネットの高校であるN高等学校が、欠点が少ないという意味で、最もマシとは思うが、小学生、中学生を救う道は、今のところない。手遅れにならないことを願うが、既に、十分、手遅れなのである。











まずは会社の中で良い想いをして欲しい

私が人々に教えたいのは、まずは会社の中で良い思いをする方法だ。
この点に関しては、私は長く、ほぼ仕事をせずに、良い思いをし続けてきたことから、自信がある。
私は、学歴はないし、あまり認めたくはないが、頭もそう良くはない。そして、非常に立派なことをしたことは、ほぼ皆無であるが、馬鹿さが作った黒歴史ならかなりあるように思う。もちろん、ほとんど忘れたが(笑)。

さて、昔から、どんな人達が、さしたる能力もないのに、良い思いをしてきただろうか?
1980年代頃は、ワープロが使えるというだけで、スペシャリストとして重く扱われたと言えば、驚くかもしれないが本当である。
当時は、今のように、パソコンでWordのようなワープロソフトを使うのではなく、ワープロ専用機という、高価なコンピューターがあった。専用機であるだけに、むしろ、今のWordより簡単だった。
数少ないワープロ使いのOLさんに文書を作ってもらうために、部長さんが愛想笑いをしてお願いし、課長・係長クラスならペコペコして頼まないと、後回しにされて困るのだから、ワープロ使いが、いかに良い思いが出来たか想像出来ることだろう。
ほんの少し練習すれば誰でも・・・本当に誰でも出来る技能であるに関わらずである。
つまり、当時のワープロ使いのような技能、あるいは、それより若干マシな技能を持てば良いのである。

では、今は、どんな技能を持てば良いのだろうか?
まさか、Wordのようなワープロソフトではない。ワープロは誰でも出来て当たり前の時代だ。
では、プログラミングかと言えば、そうではない。これに関しては、少し説明する。
今、人気があり、また、比較的習得が簡単と言われるプログラミング言語は、何と言っても、JavaScriptとPythonだ。
だが、これらが出来て、良い思いが出来るほど、オフィスの中で有益性があるかと言うと、全くない。
敢えて言えば、役立てることは出来るが、あまりに非効率だ。
ちょっと昔、変な人達が、当時人気のあったPerlというプログラミング言語を「仕事で役立つ」「仕事で役立てよう」などという本を書き、オフィスの中で、実際に、Perlを仕事に使っていた人を見たが、彼らは単なるプログラムマニアである。
今も、「Pythonで仕事をする」なんて本もあるが、騙されてはならない。
これらのプログラミング言語は、ソフト会社や企業の情報システム部門に入ってプログラマーとして仕事をする時に使う。
しかし、その用途でも、現在の日本で仕事が多いのは、Webサービスの開発ではPHPやJava、あるいは、Rubyが少し増えてきた感じで、企業内での業務システムでは、C#やJavaが使われることが多いのではないかと思う。だが、これらの仕事は、他人とうまくコミュニケーションが取れる能力がないと難しいと言うか、辛い・・・などと、自分の職種を貶してはならないが、自分がやってきただけに実感していることでもある。まあ、その話は今回のテーマではないので、置いておく。

今は、やはり、Excelなのである。
もちろん、普通に、あるいは、多少巧妙にExcelが使えるだけでは駄目であり、ハンバーガーという資格・・・いや、モス(MOS)だったか(笑)、そんな資格は何の関係もない。昔は、ネズミという資格・・・じゃなく、MOUSEという資格があったらしい(笑)。
Excelなら、分からないことがないくらい詳しく、達人的に何でも出来れば敬われる。
ただ、それは、せいぜい、ある程度若い女性の場合で、給料は安いままだ。
つまり、ちょっといい気分になれる程度で、圧倒的な存在感とは程遠い。
しかし、マクロ(VBAプログラム)で、業務を自動化出来るとなると、恐れ敬われる。
そんな真似が出来る人は、滅多にいないからだ。
正直、これも、そう難しいことではないが、理由はいろいろながら(今はその理由を論じる時ではない)、誰も出来るようにならないのだ。
ただし、半端に出来るのでは駄目で、達人でなくてはならない。

英会話とExcelは似ている。
英会話が出来るとか、TOEIC900点以上(あるいは満点)といったところで、それだけでは何の役にも立たない。
確かにちょっといい気分は味わえるが、それだけである。
Excelにべらぼうに詳しいのも同じだ。
だが、専門的で高度な能力があれば、英語を活かせる場合がある(逆に言えば、専門能力がなければ、英語だけ出来る残念な人だ)。
そうなるのは難しいので、英語はやめておいて、まずは何かでスペシャリストになる方が圧倒的に良い。
だが、Excelマクロ(VBAプログラミング)なら、割と常識的に、それを業務に適用すれば、かなり有益であり、経験を積めば、相当な能力になる。
だから、もし、Excelマクロをやるなら、うだうだ言わずに達人になれば良いのである。
私の身近にも、ロクにExcelマクロを磨かないのに「社内での自分の扱いが悪い」と文句を言ったり、落ち込んでいる様子を見せる者がいるが、そんなこと言われても仕方がない。
とにかく、時間を注ぎ込み、超一流の能力を身につければ良いのである。イチローみたいに。
Excelマクロが出来れば、AccessでVBAを使うことも出来るようになり、さらに、AccessでSQL Serverを扱えれば、良い仕事や職場の方からやって来るだろう。

尚、天才的クリエイターや、ほとばしる創造意欲を持った人達は、私の言うことなど無視して、独自の道を行って欲しい。
上記のことは、私のような凡人の場合に役に立つはずだという意味で述べたつもりである。











これからの時代のExcel、Accessの使い方

プログラミングの練習をするには、昔はかなりの費用がかかったが、今は無料で大抵のことが出来る。
今、一番人気があるプログラミング言語は、JavaScriptとPythonだ。
プロと全く同じ開発環境を無料でインストール出来るが、その手順が複雑で、しかも、ちょっとしたことでうまく動かないことがある。そんな時は、Webで調べて自分で解決していくことで力がつくのだが、PCやインターネットや、プログラム開発に関することに不慣れな人には、なかなかハードルが高く、実際は、全くの素人がプログラミングの勉強を始めるということは、あまりない。
だが、高校生や、時には、中学生が、恐れ知らずで飛び込み、いろいろありながらも、プログラミングが出来るようになることもある。
しかし、そんな人達だって、一足飛びに出来るようになる訳ではなく、かなりの時間をかけ、相当な苦労をして成し遂げたのだ。

将来、開発環境の構築が、誰でも出来るレベルになるかというと、少なくとも、当面・・・10年やそこらは難しいのではと思う。
もし、それほどシンプルになってしまえば、別の問題があるといった事情もある。
ところが、ExcelやAccessでVBAを使うなら、そんなに難しいことはない。
これらは無料ではないが、見返りを考えると、極めて安い投資と言えるのではないかと思う。
私の場合で言えば、購入したものと値段で言えば、

Microsoft Office 2019 Personal (永続ライセンス/2台) 約3万円。※Word、Excel、Outlook
Microsoft Access 2019(永続ライセンス/2台) 約1万5千円。

で、合計4万5千円だ(Amazonで購入。オンライン版)。
高いと言えばそうかもしれないが、私は、これらの価値が解るので、その安さに、今だに仰天しているほどだ。
昔、やはり、Accessを自分で買ったが、その頃は、3万円くらいしたと思う(それでもやっぱり驚くほど安い)。
まあ、ダウンロード版を買う手続きやインストールだけで難しいと思う人も少なくないと思うが、それでも、インストールは昔と比べれば簡単になったし、注意深くやれば大丈夫と思う。
とはいえ、スマートフォンアプリのインストールと比べれば、やや複雑だし、困るのは、うまくいかない場合や、インストール後のトラブルで、それがまた結構ある・・・などと言えば、やる気が萎えるかもしれないが、私もあったし(笑)、サポートの利用の仕方がなかなか分からなかったりする。
だが、なんとかなると信じよう(笑)。

VBAは有償のExcelやAccessが必要だが、「ExcelやAccessを利用出来る」というメリットの大きさはとんでもないものだ。
ExcelやAccessの高度で洗練された機能が、VBAで簡単に利用出来るというのは、他のプログラミング言語では望めない圧倒的利点だ。
では、ExcelとAccessの違いは何かというと、扱えるデータの量と処理の高度さということになる。
Excelでは、そこそこ(数万から数十万)のデータ量で、1つのデータを扱うなら、かなりの数学計算も可能だが、104万レコード程度が限界だし、また、複数のデータを複雑に組み合わせて使うのはやや難しい。
Accessは、Excelよりずっと多くのデータが扱えるし、簡単に複数のデータを組み合わせて使える。
また、Accessは、SQL Serverという高機能なデータベースと一体化して使えるので、相当高度な用途に使える。SQL Serverも、無料のSQL Server Expressで、そこそこの企業の基幹システムで十分使えるほどだ。
私の場合は、本格的な処理では、Access内部のデータベースは、ほとんど処理の途中で一時的に使うだけで、データベースはSQL Serverになる。もちろん、これをAccessで使う。
大きな企業のシステムだって、本当はAccessで作るメリットは多いのだが、ブラウザで使えるWeb形式の方が面倒が起こり難いので、Visual Studioで、C#あたりで作ることが多いが(VisualBasic.Netが使われることも多いと思う)、開発に時間がかかるものである。

個人で使う範囲であれば、ExcelやAccessで十分だし、それが、業務効率を向上させるし、場合によっては、極端に業務効率が上がる。
そして、ExcelやAccessは、うまく使えば、最強のBI(ビジネス・インテリジェンス)ツールになる。
本当によく、BIツールの宣伝や説明を見るが、「そんなの全部、ExcelやAccessで出来るじゃない」と思う。要は、高価なBIツールは、ExcelやAccessが使えなくても出来るのが良いのであるが、どんなことでも自由自在とはいかない。
また、今後は、ディープラーニング型AIを実際に使う機会が増えるが、ディープラーニング自体はツールがやってくれるので、それほど難しくないが、ディープラーニングのためのデータを整えることは、出来ない者には絶望的なほど出来ない。
だが、ExcelやAccessをうまく使えば、それが出来る。
ディープラーニングの本には、画像データをサンプルに使うものが多いが、実際に使うのは数値データではあるまいか?
しかし、画像データの方が、データを集める苦労を隠せるので、本では、そうするのではないかという面もあるのではと思う。
私が4月に出版する予定(数学講師との共著)のAI書籍では、数値データでディープラーニングする面白いテーマを選んだ。
データを作成するVBAプログラム組み込みのExcelファイルもダウンロード出来るようにする予定なので、実際に自分で試せる。
自分でやるということが、習得への一番の近道である。











プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんを愛す
[AI&教育blog] メディアの風


当ブログは第1期ライブドア奨学生ブログです。
最新コメント
IT学習
記事検索
ブログバナー&Mail


メールはこちらへ
PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
人気ブログランキングへ
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ









タグクラウド
QRコード
QRコード