VBAを使ったプログラミングの「そもそも」の話

記事
IT・テクノロジー

●VBAとは

まずVBAとは、簡単に言うとエクセルで使うプログラミング言語です。
エクセルで色々な関数を使うというのはご存じだと思いますが、それよりもっと複雑にデータを制御できる機能です。

●プログラミングに必要な要素

すぐにプログラムを書きたいところですが、少し待ってください。
これからどんな方針でプログラミングを学んでいこうかという話をします。
プログラミングに必要な要素は大きく分けて二つです。
文法」と「アルゴリズム」がプログラミングには必要です。
プログラミングは二つの要素20211206.png
文法」とは、条件分岐の時はIfと書くとか、繰り返すときはForと書くとか、変数とは数値を記録する入れ物とか、配列でたくさんの数値を管理するとか、いわゆるプログラミングの入門書に書かれている基礎の基礎です。

英語で言うと「名詞」はこれ、とか「疑問文」はこういう語順で書く、とかそういう文章の構成要素に関する法則です。
これは重要なのですが、これだけではプログラムになりません。
データの処理の手順を考える必要があります。

このデータを小さい順に3件抽出して、足し合わせる。
そのあと大きいデータを2件抽出して、足してあった合計値に掛け算する。
こういう処理の手順が必要です。
これが「アルゴリズム」です。
アルゴリズム」をプログラミング言語の「文法」に沿って記述したものがプログラムです。

ちなみに「文法」の違いがプログラミング言語の違いです。PythonもVBAも「アルゴリズム」が一致していれば同じような結果を返します。
なので「アルゴリズム」を考えることができれば、プログラミング言語が変わっても対応しやすくなります。
必要な要素の片方が作り出せるようになれば、あとは命令文の書き方を覚えることでプログラミングができるからです。

●アルゴリズムはその都度オーダーメイド

話を戻します。
文法は入門書を読んでいれば何とかなります。
しかしアルゴリズムはそうはいきません。

データの処理の手順、すなわちアルゴリズムはオーダーメイドなのです。
その都度やりたい処理に合わせて手順を考える必要があります。
ここがある程度色々書いてみないと身につかないという部分なのです。

そうはいっても業務レベルのアルゴリズムをいきなり考えるというのは無茶です。
それに基本的なアルゴリズムはもうある程度研究されていて、自分で考えだす必要がありません。

また結局自分がやりたい処理をノーヒントで思いつくというのはあまりなくて、やりたいことが出てくるたびに、誰かが考えたプログラムを調べて、その都度ストックしていくことで自分の引き出しを増やしていくことになります。

絵の練習と一緒です。
ノーヒントで複雑なものを、実物を見ずに記憶を頼りに描けるというのは初心者には難しいですよね。
最初は基本的なプログラムを書いてみて、雰囲気を知ったほうがいいと思います。

●まずは文法の習得を目指して、ついでにアルゴリズムに慣れましょう

文法がわからないと何も始まりません。
まずは文法の習得を目指しましょう。
初心者」が「初心者+」くらいになるためには、文法の中の「条件分岐」と「繰り返し」を習得する必要があります。
簡単なアルゴリズムに触れながら、この二つの文法を習得していきましょう。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す