見出し画像

介護事業者のためのExcelVBA入門②~プログラミングの基本~

介護事業者のためのExcelVBA第2弾となります。

今回は、「プログラミング」に関して、基本的な事柄をマスターしてもらい、次回から、具体的なVBAプログラミングにチャレンジしていきたいと思います。

そもそもプログラミングとは何なのか

wikipediaではプログラミングは

「コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。」となっています。

はい、この通りです。プログラミングとは、端的にいうと、人間がコンピュータに出す「指示」=「命令」のことです。

※用語として、一般的には、「指示」より「命令」のほうがよく使われるので、この講座では「命令」という言葉を使います。

この命令に使うのが、「プログラミング言語」になります。

本講座で「プログラミング言語」にあたるのが、

「VBA:Visual Basic for Application」となります。

(VisualBasicという元々マイクロソフトが作っていたプログラミング言語を、Office製品(Excel、Word、Access)に応用した言語である、程度に認識しておいてください。)

では、具体的に、どのような「命令」があるのか、見ていきましょう。

コンピュータに出す命令って?

ExcelVBAでの実例を出してみます。

例えば、あるセルに、値を入力したいとしましょう。

その際は、「 Worksheets("Sheet1").Cells(1, 1).Value = 1」と書きます。

(どこに「プログラム」を書くかは、また次回以降説明いたします。)

すると、このような結果になります↓

セルの(1,1)に、数字の「1」が入力されました。

このように、プログラミング言語によって、コンピュータ(VBAの場合は、Excelというアプリケーション)に命令し、何かの処理をさせる、というのが「プログラミング」の流れになります。

オブジェクト指向ってなんだ、、、?

この講座をご覧になっている方の中には、「VBA」の教材を手に取ってみたことがある方がいらっしゃるかもしれません。そこには、大概、「オブジェクト指向」についての説明があったのではないでしょうか。

これ、初学者にはハードルが高いのではないかと推測しています。パソコンの黎明期から、プログラミング言語に触れている方は、「これがオブジェクト指向かー便利だなー」となるのでしょうけれど、、初学者にとっては、もはや「オブジェクト指向」は当たり前のもの、です。

他の言語の仕様(仕組み)も含めて概観しないと、オブジェクト指向の意味はわかりづらいと思います。

なので、今現在、VBAの学習を進めるにあたっては

「ブックや、シート、セルを直感的に操作できる便利な機能」

ぐらいの理解で十分だと思います。

さきの例で示した「 Worksheets("Sheet1").Cells(1, 1).Value = 1」という命令を見てみると、「Worksheets」や「Cells」という直感的なワードがでてきます。

これは「”Sheet1”という名称のWorksheet」「の」「Cells(1,1)」「の」「Value(値)」「に」「1を代入しろ」、という命令です。

直感的で、非常にわかりやすいですよね。

※Javaなどオブジェクト指向のプログラミング言語では、ExcelVBAのように事前に準備されてるクラス(VBAでいうセルなど)=標準関数も使うのですが、新たに、ある事象を抽象化して、クラスを定義することでプログラミングの効率を上げることができます。

ただし、「VBA」においては、あらたに抽象化し、クラスの定義を行うということは、ほとんどありません。すでに用意されているBook、Worksheet、Cellsなど抽象かされたものを活用し、プログラミングを進めていくことになります。なので、「オブジェクト指向」にあまり突っ込んで勉強しなくてもよいと思います。

プログラミングの基本は「条件分岐」→「フローチャート」

プログラミングをする際には、以下のような「フローチャート」を作ることが多いです。

「フローチャート」とは、直訳すると「流れ図」です。

命令の流れと、その命令を行う「条件」を示し、どう処理が流れていくかを示した図です。

私は、この「フローチャート」を「ピンボール」に見立てて理解しています。


ポンと、突き上げったボールが「開始」のゲートをくぐり抜けます。

そのボールには、「変数」という属性がついています。

「条件」という名のゲートがあり、このゲートは、ボールの変数という属性を見て、ルートをコントロールすることができます。

上記のフローチャートでは、xという変数が0以上の場合には、Yesのルートへ、xという変数が0より小さい場合にはNoのルートへボールをコントロールします。

そして四角のゲートを通った際には、ピンボールのゲートよろしく、「画面をピカピカ」光らせたり、「スロット」がスタートしたり、処理を行わせることができます。

こうやって、自分の「やりたいこと」の流れを、「条件」と「処理」の箱を使って整理するのが、フローチャートです。

フローチャートで、流れを整理し、プログラミング(命令を書く)というのが一般的なながれです。(経験を積んでくると、フローチャートは作らなくても頭で考えられますが、処理の抜け漏れなどがないよう、一度フローチャートにアウトプットすることをおすすめします。)

フローチャートには、「繰り返し処理」などもあるのですが、フローチャートばかり考えていても仕方がないので、次回から、さっそく手を動かしていきたいと思います。

まとめ

①「プログラミング言語」とは、コンピュータ(アプリケーション)に命令すること

②VBAはブック、シート、セルなどを直感的に操作できる「オブジェクト指向」の言語

③「フローチャート」は「ピンボール」でイメージするとわかりやすい

④フローチャートで処理の流れをイメージし、プログラミングをすると抜け漏れがない(アウトプットして、思考することが重要!)

#効率化

#エッセイ

#VBA

#エクセル

#Excel



この記事が気に入ったらサポートをしてみませんか?