検索
特集/連載

なぜ“Excel職人”は、マクロに「ユーザーフォーム」を実装したがるのか?“脱Excel”か“活Excel”か(1/2 ページ)

「Microsoft Excel」のマクロには、ダイアログを表示して入力しやすくする「ユーザーフォーム」があります。ただしこの機能を使う必要が本当にあるのか、マクロが得意な人ほど考えてみる必要がありそうです。

Share
Tweet
LINE
Hatena

このコラムについて

 ほとんどの企業が使っている表計算ソフト「Microsoft Excel」(以下、Excel)。便利なツールですが、本来の目的を超えて“使いこなし過ぎる”ことが、かえって業務効率を低下させてしまったり、業務の属人化につながってしまったりする場面があるのではないでしょうか。

 このコラムでは、日常業務でよく見掛けるExcelの活用例を紹介しながら「こんな場面は脱Excelを考えた方がよい」「こういうExcelの活用法はお薦め」といった知見を紹介していきます。



Excelユーザーフォームは“Excel職人”化への第一歩

 Excelマクロをある程度、使いこなせるようになってくると、セルの値を入力したり、計算させたりといった、一般的に思い付くマクロの作成では物足りなくなってくる人が少なからず存在します。このようなスキルを向上したいという意欲は尊重すべきであり、同じ処理でも、より高速に処理するマクロの記述方法を考えたり、よく使用するマクロのコードを汎用(はんよう)化したりすることなどは、むしろ推奨すべきでしょう。

 一方でスキルの向上といっても、Excelの「ユーザーフォーム」の習得を目指す人には注意が必要です。ユーザーフォームとは、「Visual Basic Editor」(注1)で作成できる「フォームウィンドウ」と呼ばれるものです。テキストを入力する「テキストボックス」や、リストから項目を選択できる「コンボボックス」といったコントロール(フォームに配置する部品のようなもの)を配置することができ、作成したユーザーフォームはExcelシートの前面に表示し、使用することができます。

※注1: マクロ言語のVBA(Visual Basic for Applications)を作成するための統合開発環境。

ユーザーフォーム作成画面ユーザーフォーム (左)Visual Basic Editorのユーザーフォーム作成画面、(右)Excelシート前面に表示されたユーザーフォーム

 ユーザーフォームの用途としては、入力フォームを作成して、入力の利便性を向上させることが挙げられます。またExcelのアプリケーション自体を非表示にしてしまうことで、Windowsアプリケーションのようなツールとして使用することも考えられます。一見、ユーザーフォームは便利な機能であるように見えるのですが、なぜ習得を目指す人に対して、注意が必要なのでしょうか。

 それは、Excelのユーザーフォームという機能に着目すること自体が、Excelの一般的な使用方法から外れ、独自仕様のツールを作り出してしまう“Excel職人化”への第一歩となる危険性があるからなのです。

Excelユーザーフォームは、社内での利用シーンがほとんどない

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る