アクセス上位ページ
 
最近の更新内容
(6)-c.数式の設定 ⇐ [PREV]
[NEXT] ⇒ (6)-e.セルの書式(配置)

Excel VBA ≫ 1.基礎編 - セル・レンジ(6)-d.セルの書式(表示形式)

【ページ内リンク】

セルの書式(表示形式)

セルの書式設定画面の表示形式タブに対応するプロパティについて説明します。
セルの書式設定画面の表示形式タブ



表示形式 - NumberFormatLocal プロパティ

セルまたはレンジの表示形式はNumberFormatLocalプロパティにユーザー定義を設定することで変更することができます。
ユーザー定義の表示形式を設定するとセル内の編集した値(.Value値)は変わらずにその見た目(.Text値)が変わります。
  • 数値・その他の表示形式設定例
  • Sub sample6_10()
        '表示形式設定
        Range("A1:A4").NumberFormatLocal = "G/標準"
        Range("B1:B4").NumberFormatLocal = _
            "_ \* #,##0_ ;[赤]_ \* -#,##0_ ;_ \* "" - ""_ ;_ @_ "
    
        '値設定
        Range("A1,B1").Value = 12345
        Range("A2,B2").Value = -98
        Range("A3,B3").Value = 0
        Range("A4,B4").Value = "あああ"
    End Sub
    
    ⇒ サンプルマクロ集 へ
    <実行結果> sample6_10実行結果
    ◆書式解説◆
    上記のRange("B1:B4")に設定したような数値形式の表示形式は、値の状態によって4つの書式を設定することができます。 各書式はセミコロン(;)で区切ります。
    • 1番目の書式 ・・・ 正の数の場合の書式
    • 2番目の書式 ・・・ 負の数の場合の書式
    • 3番目の書式 ・・・ ゼロの場合の書式
    • 4番目の書式 ・・・ 文字列の場合の書式

    表示形式に設定できる記号
    記号 説明
    _
    (アンダースコア)
    1文字分の余白を確保する。
    ¥ ¥記号を表示する。
    * 数値の桁数によって¥記号の位置がずれないようにする。
    # 1桁の数字を表示する。ゼロの場合は何も表示されない。
    ,
    (カンマ)
    数値を1000単位で区切る。
    0 1桁の数字を表示する。ゼロも表示する。
    [色] 文字色(黒、赤、緑、青、水、黄、紫、白)を指定する。
    -
    (マイナス)
    マイナス符号を表示する。
    "文字列" 文字列を表示する。
    ※VBAでダブルクォーテーション(")自体を文字列として設定したい場合は2つ続けて("")設定します。
    @ 入力値をそのまま表示する。

  • 日付・時刻の表示形式設定例
  • Sub sample6_11()
        Dim myForm(1 To 7)      As String
        Dim i   As Integer
    
        '表示形式(7パターン)を配列に格納
        myForm(1) = "yy/mm/dd aaa"
        myForm(2) = "yyyy/m/d aaaa"
        myForm(3) = "ge.mm.dd"
        myForm(4) = "ggge""年""m""月""d""日"""
        myForm(5) = "mmm. d, yyyy (ddd.)"
        myForm(6) = "mmmm d, yyyy (dddd)"
        myForm(7) = "h:mm:ss"
    
        'タイトルを編集
        Range("A1").Value = "設定値"
        Range("B1").Value = "表示形式"
        Range("C1").Value = "表示結果"
        Range("A1:C1").Interior.Color = vbGreen
    
        '値設定
        Range("A2:A8,C2:C8").Value = "2013/4/8 16:05"
    
        '表示形式設定
        For i = 1 To 7
            Cells(i + 1, 2).Value = myForm(i)
            Cells(i + 1, 3).NumberFormatLocal = myForm(i)
        Next i
    
        'セル幅の自動調整
        Columns("A:C").AutoFit
    End Sub
    
    <実行結果> sample6_11実行結果
カテゴリ内ページ



Page
Top