ExcelVBA(マクロ)でセルの書式設定を変更する方法/NumberFormatLocalプロパティの使い方

cafe IT

セルの書式をマクロから変更する方法です。やることとしては、書式設定で「ユーザー定義」を設定するのと同様になります。

Advertisements

セルの書式の変更方法

loc1
今はこんな感じに書式がなってますが……。
loc2
これをマクロで変更するにはどうするか?

範囲を指定し、NumberFormatLocalプロパティを設定します。構文としては下記のようになります。

セルの書式設定の変更
対象.NumberFormatLocal = “(書式)”
loc3
マクロを開き、Range(“A1”).NumberFormatLocal = “yyyy””年””m””月””d””日”””A1書式設定yyyy年m月d日表記に変更する)と記述します。
loc4
これを先ほどのA1に実行すると……。
loc5
こんな感じで書式が変更されました。
loc6
A2も変更してみましょう。こちらはNumberFormatLocal = “#,##0″”円”””に設定してみます。
loc7
表記が円表示に変更されました。

記述のポイント

loc8
基本セルの書式設定→ユーザー定義と書き方は同じなんですが、値全体を””で囲む必要があります。
途中で漢字などの文字が入る場合は、””でその文字部分を囲む形になります。
loc9
このように書式設定で数字/記号表記であれば(”を使っていなければ)、マクロではNumberFormatLocal = 0のように全体を””で囲んで表記します。
loc10
このように書式設定で文字表記も含むのであれば、マクロではNumberFormatLocal = “m””月””d””日”””のように表記します。
パーツとしては「m」「d」の記号と漢字部分となり、「月」「日」のような漢字部分はそれぞれ””で囲まれます。 + m + “”月”” + d + “”日”” + に分解できます。

マクロで書式設定をする方法については以上です。

Excel(エクセル):日付、時間、曜日、シリアル値
Excelの時間関連操作、設定、関数などまとめです。 セルの表示設定 基本 日付をセルに入力したい場合、m/dあるいはm-dの形式で入力すれば、 自動で入力した年のその日付になります。年号も指定したい場合は、yyyy...
Excel(エクセル):金額、通貨、時給、消費税
Excelの金額、通貨関連操作、設定方法のまとめです。 金額表示設定 数値を通過設定にする、表示に\マーク、$、€などの通貨記号を付けるには、セルの書式設定で通貨を選択するか、通貨表示形式ボタンをクリックします。 ...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント