「プログラム」とは、コンピューターに行わせる作業の手順を組み立てて、プログラミング言語で表したもの。
「プログラミング」とは、コンピューターに行わせる作業の手順を、プログラミング言語を使って組み立てること。
プログラミングは決して簡単なものではないが、基本をきちんとおさえておけばそれほど難しいものではない。
プログラムのソースコードは、ネットで検索すると普通に紹介されているので、調べればけっこう簡単に手に入る。
昨今、IT化する社会環境ではプログラミング需要が高まっている。
現在、日本のGDPはアメリカと中国に次いで世界第3位。
ただ、国民一人当たりで比較すると、G7における日本のGDPは下から数えたほうが早い。そのため、先進国のグループ内で見たとき、日本の生産性は低いと言わざるを得ない。
また、ご存知の通り、日本は高齢化社会で2020年現在の平均年齢は約49歳。
これは世界でトップクラス。
経済産業省の予想では、日本の総人口は2050年までに約1億人まで減少し、労働力人口(15~64歳)は2040年まで減少の一途を辿る見込み。
【2018年9月 経済産業省の資料より】
つまり、労働者の人口は今後徐々に減っていく流れにある。
そんな中で、日本を上手く運営し、経済的に成長していくためには国民一人あたりの生産性を高める必要がある。
例えば、会社の業務では日々のルーチンワークなどの定型的な作業はプログラムを利用することで自動化が可能。それにより、高速でミスなく作業が実行でき、業務の生産性を高めることができる。
プログラミング言語の種類
世の中には様々なプログラミング言語があり、目的に応じて使い分けるのが良いと言われている。
ある調査によると 2020年 プログラミング言語の人気ランキングは以下の通り。
(出典:https://www.bizlearn.jp/bizlearnlog/2284)
1位 C/C++
2位 Python
3位 JavaScript
4位 SQL
5位 C#
6位 Java
7位 VBA
8位 HTML/CSS
9位 PHP
10位 VB.NET
この中でも、最近のトレンドは「Python」
「Python」はプログラムのコードを比較的簡単に記述でき、AI開発や機械学習との相性が良いため、近年は需要が高まりつつある。
「JavaScript」「HTML/CSS」は、Webページを作成する上で重要なプログラム。
これらはとくにソフトウェアをインスト―ルすることなく、パソコンがあれば使うことができるので、環境構築は非常にラクである。
そして、ランキングの第7位にチャートインしているVBA!
今回のテーマはコレ!
VBAとは?
「VBA」の正式名称は「Visual Basic for Applications」。
Office製品で使えるプログラミング言語。
Office製品には「Excel」という表計算ソフトが付いてくる。
そして、「Excel」にはもれなく「VBA」が付いてくる。
Excel は表やグラフ、書類を作る上でよく使われるソフトウェア。
ひと昔前に「神エクセル」という言葉が生まれたほどなので、事務作業にExcelを使われている会社は今でも多いと思われる。(目的を度外視して、無闇にExcelを使うのは問題ですが)
そんなわけで、今でもよく使われているであろうExcel。
とはいえ、複雑な作業になると、いちいち手作業をしていては非効率。
そこで高速かつ正確に作業をこなすために使われるのが、「VBA」である。
Excelでは、VBAを使って作成したプログラムのことを「マクロ」と言う。そのため、「VBA=マクロ」ではない。
マクロを活用することで、人による手作業では何時間も掛かるものを、数秒で終わらせることが可能となる。
一時期、私は自分の予定表をExcelで作成していた。自分なりにカスタマイズして。
予定表の画面にはボタンがいくつかあって、それを押すと業務で使うソフトウェアが起動されてルーチンの処理を行ったり、必要なデータの集計や情報通知を行ったりする。
そんなことをやっているうちに「ネットで調べるときにいちいちブラウザを開くのも面倒だから、Google検索もExcel画面からやってみよう!」ということで、Google検索を行うVBAを作ってみたので、今回はそれをご紹介しよう。
こんなマニアックな使い方に需要があるかは存ぜぬが、役立つようでしたら是非ご利用いただきたい。
ちなみにこれは業務効率化とはあまり関係がない。「VBAはこんなふうに使うこともできる」というニッチな事例紹介であることをご了承いただきたい。
【VBAでGoogle検索をする方法】
①Excelを起動して「Alt + F11」を押下。

②「挿入」タブの「標準モジュール」をクリック。

③プログラムのコードを貼り付け

▼貼り付けるプログラム▼(コピー&ペースト)
Sub Google検索()
Dim path As String ‘// ブラウザのパス
Dim url As String ‘// Googleの検索URL
Dim keyword As String ‘// 検索キーワード
‘// エラー発生時に実行するプログラム先
On Error GoTo reigai:
‘// ブラウザのフルパスを指定
path = “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”
‘// 検索URLを指定
url = “www.google.co.jp/search?q=”
‘// 検索キーワードを取得
keyword = InputBox(“検索キーワードを入力してください”)
‘// 検索キーワードが空欄のときはプログラムを実行しない
If keyword = “” Then
Exit Sub
End If
‘// ブラウザを起動してGoogle検索を行う
Call Shell(path & ” ” & url & keyword)
Exit Sub
‘// エラー発生時のプログラム
reigai:
MsgBox “この操作を行うには、オペレーティングシステムのファイル(chrome.exe)のアドレスが C:\Program Files (x86)\Google\Chrome\Application に無ければなりません。”, vbExclamation, “注意”
End Sub
④左上のExcelのアイコンをクリック。
または「Alt + F11」を押下。

⑤Excel画面で「Alt + F8」を押下。

⑥ 「Google検索」を選択して「実行」をクリック。

⑦ 検索キーワードを入力して、「OK」をクリック。
【注意】キーワードを2つ以上入力するとき、文字と文字の間は全角スペースにする。

▼実行結果▼

・・・以上。あとはボタンを設置して、それを押せばマクロが実行されるようになれば多少は使いやすくなるはず。
▼マクロのボタンの作り方▼
https://office-hack.com/excel/macro-button/
近年、業務効率化、生産性向上のためにRPA(Robotic Process Automation)を導入する企業が全体的には増加傾向にあるようだ。2019年11月の時点で大手企業の51%がRPAを導入、中小企業は25%という調査結果がある。
※RPAとは、一言でいうと「ロボットがソフトウェアになったもの」
▼参考URL▼
https://www.m2ri.jp/release/detail.html?id=391
このデータで興味深いのは、中小企業のRPA導入率が 2019年1月時点では27%あったものが、その10か月後には25%に減少していることである。RPAのロボットは無料で借りられるものもあるようだが、当然ながら試用段階で十分に検討する必要がありそうである。
RPA導入は経費で処理できるような安い買い物ではない。
費用はサプライヤーやロボットの種類によって様々だが、おおよそ①初期費用、②月額費用、③保守費用、④導入支援費用 ・・・がもれなく発生するため、百万円単位の出費は覚悟したほうがいいと思われる。
一方、VBAは無料で使える!Excelで出来ることは全てVBAでプログラミングが可能。
さらに、Windowsに標準で用意されているAPI(Application Program Interface)を使用すれば、Excelではできない処理をVBAで行うことができる。(例)VBAの処理を一定時間休止させる、音声を再生する、時間を計測するなど
そんなわけで、VBAでマクロを組んで業務を自動化すれば、それだけでまだまだ生産性を高められるチャンスがあるのではないか!?・・・という話でした。
ほな、おおきに。
Kikujiro