入力フォームの必須処理! Excelのテキストボックスに入力する文字数を制限するには:VBA/マクロ便利Tips
業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、テキストボックスに入力できる文字数を制限するMaxLengthプロパティの使い方をサンプルコードも交えて解説する。
今回はテキストボックスに入力できる文字数を制限する方法を紹介する。
「フォーム」を使ってデータを入力させる場合には、入力ボックスに文字制限を設けている場合がある。これはどのような処理で行っているのかを解説しよう。今回は10文字の制限にしているが、入力フォームでは「ご質問は500文字以内にしてください」といったアラートを出す利用方法は、よく目にするのではないだろうか。ぜひ、これも使ってみてほしい。
テキストボックスに入力できる文字数を制限するMaxLengthプロパティ
テキストボックスに入力できる文字数を制限するには、MaxLengthプロパティを使う。書式は下記の通り。
テキストボックスに入力できる文字数を制限するMaxLengthプロパティの書式
{オブジェクト}.MaxLength
{オブジェクト}には、テキストボックスオブジェクトを指定する。
ほとんどのプロパティはVBEのプロパティから設定ができる。今回のMaxLengthも、当然プロパティの設定から指定できるが、この連載はVBAのTipsの紹介であるため、主題となるプロパティの設定はVBAから行っている。
MaxLengthを使うためのフォームの設置
MaxLengthを使うためのフォームUserForm1には、Tips「Excelコントロールのイベント処理の基本としてテキストボックスの変更内容をラベルに表示する」のフォームを使用する。
このフォームにツールボックスからテキストボックスを1個配置し、オブジェクト名を「文字数制限テキストボックス」とし、図1のような配置にしておく。
MaxLengthを使ったコード例
「文字数制限テキストボックス」に、文字数の制限を設定するコードはリスト1になる。このリスト1のコードを、「UserForm」の「Activate」イベントに追加するだけだ。
文字数制限テキストボックス.MaxLength = 10
「文字数制限テキストボックス」のMaxLengthプロパティに10を指定して、10文字とする。これは全角でも半角でも10文字となる。
実行結果
図1の「フォームの表示」ボタンをクリックして、「文字数制限テキストボックス」に文字を入力すると、10文字しか入力できない(図2)。
著者プロフィール
薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所
薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。
1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。
2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。
Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- スクショをExcelに張り付けるのに役立つ4つのテクニック
システム開発におけるソフトウェアテスト(結合テスト〜システムテスト)において重要視されるエビデンス(作業記録)。前後編の2回にわたって、エビデンスとしてスクリーンショットをキャプチャし、テスト仕様書や納品書に張り付けていく作業を自動化するためのVBA/マクロのテクニックを紹介する。後編は、画像ファイルをシートに張り付け、Excel 2013のメニューからスクショを直に張り付け、画像を縮小し、指定した時間にマクロを実行する方法を解説。 - [Esc]キーによるExcel VBAの実行中断を防止する
ExcelではVBA(Visual Basic for Applications)によってさまざまな処理を自動的に実行できる。しかし、VBAの実行中にユーザーが[Esc]キーあるいは[Ctrl]+[Break]キーを押すと、自動処理が止まってしまう。止めたくない場合は、Application.EnableCancelKeyプロパティの設定を変更する。 - Windows TIPSディレクトリ > プラットフォーム別 > Office > Excel