wrote :: 2005.12.15

トップページ > Excel > VBA > 講座:セルの操作 > 表示形式の設定

表示形式の設定

セルの表示形式は、RangeオブジェクトのNumberFormatLocalプロパティに表示形式文字列を設定します。表示形式文字列とは、[セルの書式設定]ダイアログボックスの[表示形式]タブで、ユーザー定義の表示形式を設定するときに使用する文字列です。表示形式文字列にはどんな種類があるかは……ヘルプなどでご確認ください(^^;
わからないときは、とりあえず望みの表示形式を手作業で設定し、その操作をマクロ記録してください。たとえば、セルA1に通貨形式の表示形式を設定する操作を記録したのが次のコードです。

Sub Macro1()
    Selection.NumberFormatLocal = "\#,##0;\-#,##0"
End Sub

この「"\#,##0;\-#,##0"」をNumberFormatLocalプロパティに設定すれば、とりあえず通貨形式の表示形式にできます。

セルの表示形式を設定するときは、同時にセルに何らかのデータを入力するものです。データを入力してから表示形式を設定しても、逆に表示形式を設定してからデータを入力しても同じです。ただし、「0123」のようなデータを文字列として入力したいようなケースでは、先に表示形式を設定しなければなりません。

Sub Sample1()
    With Range("A1")
        .NumberFormatLocal = "@"
        .Value = "0123"
    End With
End Sub


また、入力すると自動的に表示形式が設定される日付データでも、あらかじめ表示形式が設定されているセルの場合はExcelが自動的に設定することはありません。先に設定している表示形式が有効になります。

Sub Sample2()
    With Range("A1")
        .NumberFormatLocal = "ggge""年""m""月""d""日"""
        .Value = "2003/10/06"
    End With
End Sub


「""年""」のように、なぜ""(ダブルコーテーション)を2つ重ねているか分からない方は、「計算式の入力」をご覧ください。


[罫線の設定]戻る← | →進む[セルのコピー]