2019年01月15日 05時00分 公開
特集/連載

「VBA最強」とは限らない スキルに合わせてExcelツール作成方法を導く「5W1H」とは“脱Excel”か“活Excel”か

「Excelツールを作成する際、関数とVBAのどちらを使うべきか」。この判断を、それぞれの機能だけを見て下してしまうと、後々、利用者の利便性や開発者のサポートの手間に大きな影響を及ぼす場合があります。

[村山 聡,著]

VBAと関数の違いを考える

画像

 企業において「Microsoft Excel」(以下、Excel)を使用したツールを作るときは、ほとんどの場合は関数かVBA(Visual Basic for Applications)を使用することになります。どちらを使用するかはそれぞれが持つ機能を考慮し、実現したい機能に対して、適材適所で使用することが原則です。

 関数は、セルに値ではなく関数式を入力することで、求める結果を簡単に出力する機能です。Excelで関数をほとんど使用しない人であっても、「SUM」「AVERAGE」「COUNT」といった基本的な集計用関数を使用したことはあるはずです。数値の集計以外にも、文字列や日付を操作する関数、財務や統計専用の関数など、Excelには用途に応じた関数が多数用意されており、最新バージョンである「Microsoft Excel 2016」では400種類を優に超える関数を使用できます。ただし関数は、あくまでセルに何らかの結果を表示することしかできません。例えばセルの背景に色を設定したり、セルの周りにけい線を引いたりといったことを、関数で対応することはできません。

 一方のVBAは、プログラミング言語の中でも習得が比較的容易なBASIC(Beginner's All-purpose Symbolic Instruction Code)という言語を使用することで、Excelで行う操作のほとんどを実施することができます。セル背景色の設定や、けい線を引くことのような、関数では対処できない操作を実施することはもちろん、Windows上のファイルを移動させたり削除したりするといった操作を実施することもできます。また全てではありませんが他のアプリケーションを操作することも可能です。さらにいえばVBA内で関数式を使用することもできるため、セルに関数を入力することなく、関数と同様の結果をセルに出力することもできます。

機能的な境界が業務的な最善になるとは限らない

ITmedia マーケティング新着記事

news061.jpg

婚活・恋活マッチングアプリ 3億7000万人の巨大市場の行方
世界のマッチングアプリ(デートアプリ)市場のすう勢と、ウィズコロナの展望。

news053.jpg

データのサイロ化を乗り越えLTVを最大化する変数を発見 ネット宅配クリーニング「Lenet」がやったこと
事業の多角化などに伴うデータのサイロ化を防ぐためには統合的なデータ基盤が不可欠だ。...

news120.jpg

2021年のゴールデンウイークの予定 「自宅で過ごす」が依然として主流だが外出予定は増加――インテージ調査
外出意向は高まりつつも、新型コロナへの不安が消えたわけではないようです。