プログラミング学習

作成中のため、しばらくお待ちください。執筆中のためおかしな文章があるかもしれませんが、ご了承下さい。

「マクロ」と「ExcelVBA」について

この項目で言う「マクロ」とは、 Microsoft社のOfficeシリーズの、Word、Excel、Access、PowerPointなどのアプリケーションに実装されている「マクロ」機能のことを指します。 広域的に「マクロ」とは、マクロは「複数のキー入力操作を、1度にまとめて実行」することを指します。 これはExcelマクロなどだけではなく、例えばオンラインゲームなどでも、一連の処理を「マクロ」化すると効率アップすることなどがあります。 多くの社会人がはじめて「Excelのマクロ自動記録」を覚えた時に、 コンピューターって凄い/こんな簡単に自動化できるんだ など感激することかと思います。 この「マクロの自動記録」は「キー入力」情報を元に「プログラム」を自動的に作る機能になります。 (このことを、ノーコード プログラミングとも言います。) ここで自動的に作られるプログラムソースは、 「VBA(Visual Basic for Applications)」のプログラムになります。 そしてこの項では「ExcelVBA」を「マクロ記録」ではなく「プログラミング」できるようにすることが目標となります。

マクロ記録ではできないこと

自動記録マクロの多くは「1つの作業」にたいして「複数のキー入力」があるものを「1個のマクロ」にまとめて実行するのです。 それも大変便利な機能で、活用の幅が広く、お手軽であり、プログラムを覚える必要がなく、作業ミス削減になり、素晴らしい機能です。 ですが「1つの作業」は、大抵連続するものですので、単純な時短にはなれど、最高の効率化にはなっていないことにいつか気がつきます。 例えば、 「シート内のデータ1000行の、並び替えをせずにA列にある「名前」の重複3回出ている場合は3回目のみ、B列に「1」を入れて、セルの色を変える」 のような業務があったとします。 ・繰返し処理(ループ)を書ける ・変数に一時的な記憶をすることができる ・判断分を書ける(=IF関数などでもできますが、より複雑な計算式を、わかりやすく書ける) ・「マクロ記録」で作ったスクリプトの修正ができる  (いちいち長い処理をやり直さなくていい、処理を接続することもできる)

マクラーからスクリプターになろう

ここでは、 「マクロ記録」を使いこなす人を「マクラー」といい、 「ExcelVBA」を書ける人を「スクリプター」といい、 独立して関数やライブラリが作れるレベルまでくると「プログラマー」といい、 それらのシステム構成まで考えられる人を「システムエンジニア」と言います。 実際、VBAを自分で書ければ既に「スクリプター」といえますので、 前述のサンプルスクリプトを、ちゃんと模写していればもうあなたは「スクリプター」です。 <上達しない人の特徴5選> ・WEB上にあるスクリプトの中身を理解せずに、コピーして使う ・コピーしてうまくいかないときに、自分で解決せず人に頼る ・最初から業務効率化が目的で、プログラムを覚える気がない ・やりたいことの説明ができない/自分でも理解していない ・表示される「エラー」内容を読まない <上達する人の特徴5選> ・目的がある ・スキル上達を実感できる ・困ったときに一人で悩まず聞ける人がいる ・どのようなプログラムを書きたいか整理できる ・詳細なエラーを出すことができ、Googleで調べて解決できる

Excel喜ばれたVBAシリーズ

ここでは、私が過去に作った中で、喜ばれたマクロを公開しています。 ・ファイル名一括置換マクロ ・WEBサイトから値を取得 ・メール送信マクロ ・メール送信+PDFファイル

モバイル広告
ページ上部へ