テクニカルライター きたみあきこ のホームページ
Office Kitami

Office Kitami内の講座ページは閉鎖予定です。
今後は、きたみあきこのOfficeブログ Officeのチカラ をご利用ください。

公開日:2009/05/15 | 最終更新日:2009/05/15
リストボックスやコンボボックスで数値を右揃えするには
概要

リストボックスやコンボボックスに数値型や通貨型のフィールドのデータを表示すると、データは左詰めで表示されます。下図の左のフォームでは、単価が左詰めになっているため、桁が揃いません。これを右詰め(右寄せ)にして、すべての数値を右に揃えて見やすく表示してみましょう。

f100101 → f100102
手順
  1. フォームのデザインビューでリストボックスを選択し、プロパティシートを開く。
  2. [値集合ソース]プロパティを選択する。
  3. [...]ボタンをクリックして、クエリビルダを起動する。
    f100103
  4. クエリビルダ起動の確認メッセージが表示される場合は、[はい]をクリックする。
  5. リストボックスに表示するフィールドをデザイングリッドに配置する。通貨型のフィールドは、Format関数の式を使って表示する。(「@」の数は、リストボックスやコンボボックスの列幅に応じて、調整してください。)
    Format(Format([単価], "\\#,##0"), "@@@@@@@@")
    f100104
  6. クエリビルダ右上隅にある[×]ボタンをクリックする。
  7. 更新確認のメッセージが表示されるので、[はい]をクリックする。
  8. フォームビューに切り替えると、単価が右詰めで表示される。
解説

「@」は文字列データ用の書式指定文字で、文字が存在する場合はその文字、存在しない場合はスペースを表示します。文字を8桁分の幅に表示したいときは、「@@@@@@@@」のように「@」を8個重ねて指定します。

たとえば、「Format([単価], "@@@@@@@@")」の式を使うと、[単価]フィールドの数値が8桁の右詰めで表示されます。ただし、数値には「\」記号や桁区切りの「,」は表示されません。そこでFormat関数を入れ子にして、数値を通貨のスタイルに変換してから8桁に揃えます。

■Format([単価], "@@@@@@@@")
f100105

■Format(Format([単価], "\\#,##0"), "@@@@@@@@")
f100102

参 考 等幅フォントを使用しよう

数値を右に揃えても、リストボックスやコンボボックスに「MS Pゴシック」のようなプロポーショナルフォント(文字の形によって幅が異なるフォント)を設定していると、桁がキレイに揃いません。桁をきっちり揃えるには、「MS ゴシック」のような等幅フォントを使用しましょう。

■「MS Pゴシック」を使用した場合
f100106