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

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

「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 マーケティング新着記事

news018.jpg

「TikTok Ads」2019年の振り返りと2020年の展望
もう「踊ってみた」動画だけではない。急成長する広告配信プラットフォーム「TikTok Ads...

news112.jpg

「メルカリハイ」の謎を解く――4人に1人が100円以下の利益でもフリマアプリに出品
なぜ人は100円以下の少額利益でもフリマアプリに出品してしまうのか。謎を解く鍵は「承認...

news049.jpg

買い物場所の使い分け調査2019――日本能率協会総合研究所
コンビニエンスストア、ドラッグストア、100円ショップなど業態別利用実態と「そこで買う...