私自身、専業のプログラマーってわけではないので、そこまでゴリゴリにプログラムを組んでいくのは厳しいのですが、VBAだとExcelのシートと関数、マクロの記録などとの合わせ技でそれっぽい感じに自動化できるところが魅力です
もともと学校ではC言語を習っていたのですが、最近全く使わないのですっかり忘れている始末…
基本情報技術者の試験を受けた時も選択問題を「C言語」でなく「表計算」にしてしまうやる気のなさが目立ちます
VBAについては、これもまた学校で出された課題をこなすのに何となく覚えたのが始まりで「そもそもC言語しか習っていないのにBasicとかどうすりゃいいのよ?」ってことで図書館で参考書を借りて読みながらどうにかこうにかやってみたってのが最初です
所感としては「C言語とそんなに変わらなくね?」といったところで、違いとしては「コンパイルしなくても動くんだなぁ」くらいしか考えていませんでした
コンパイラとかインタプリタとか詳しく見ていくとメリット・デメリットいろいろあるのでしょうが結局のところ、以下の3つの要素があるってことを知っていれば基本は何とかなるのだと思います
- 上から順に下に読んでいく
- 条件分岐
- 繰り返し
工作機械を制御するためのNCプログラムもGコードやらMコードやらの専用のライブラリ・関数的なものがあるくらいで基本は上の通りの考えで行けます
ちょっと毛並みが違うものとしてはシーケンサーを制御するためのラダープログラムは要素としては同じだけれども、プログラムというよりはラダー図を描くっていう印象が強く、慣れないとクセが強いようにも感じてしまうくらいです
HTML/CSS(プログラム?)、JavaScriptあたりも何かちょっと違う気がしますが…
とは言えVBAってのは、そもそもExcelがパソコンに入っていれば特に環境を整える必要もなくすぐに開発できてしまうのも取っ付きやすくて良いですね
作ったExcelファイルを添付してメールで送信すれば、受け取った相手もそのまま使えたり
後は途中の計算結果などを一旦どこかのセルに出力しておいて、面倒な計算はプログラムで組むのではなく隣のセルに関数使って計算して、そのセルの値を受け取ってさらにプログラムを走らせるなど「そんなんでいいのかよっ!!」って言われそうですが、やりたいことがあるならさっさと作ってアウトプットしちゃえばいいじゃないって感じ
普段からExcelを使っているのであれば、改めて関数を覚える必要もなく感覚的に使いこなせるのではないでしょうか?
コードが分からなかったらマクロで記録して出てきたコードを参考にしたり、ネットで探せばサンプルがいくらでも見つかります
途中計算を逐一表示できるのでチェックもしやすいし、汎用的に使うシステムじゃなく自動化したいけどわざわざシステムを専門家に作ってもらうのも気が引けるってときには、この方法で処理させるのが時短にもなるしベターかな
最近だとRPAを導入していこうという流れが社内的にもあるので情報システム部門に頼めば作ってもらえるのかも知れませんが、申請書を書いて出したり作ってもらったりしている内に旬を過ぎてしまうってのもあるあるなので、だったら自分で作っちゃえってのが個人的な方針です
とりあえず実際にやりたい処理とかあった方が、プログラムを組んでいくのにもモチベーションを保ちやすいし勉強にもなるから良いのでは?
これをとっかかりとして必要なら今流行りのpythonなりを勉強していくって流れでいこうかと
とにかく何か行動してみたら、やりたいことも明確になることもあるだろう…
実戦のなかで進化していく北斗神拳のように…
コメント