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操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント