この記事では、VBAマクロで列ごとに書式設定(数値・日付・文字列・ユーザー定義・表示形式・複数・全体)方法【Range, NumberFormat】について解説していきます。
ポイントとしては、
`Range`オブジェクトと
`NumberFormat`プロパティの使用
が挙げられます。
下記の解説では完全な初心者でもわかりやすいように、変数名を少々変わった名称にしてあります。
あなた自身がご活用の際には、これらの変数名を適切なものに変更してご活用ください。
それでは詳しく見ていきましょう!
VBAマクロで列ごとに書式設定(数値)にする方法【OK列を数値に指定】
それではまず、列ごとに数値形式での書式設定について解説していきます。
ここでは、OK列の書式を数値にしてみます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SetNumberFormatForOKColumn()
Dim aaaaaColumnAsNumberaaaaa As Range
Set aaaaaColumnAsNumberaaaaa = Columns("OK")
aaaaaColumnAsNumberaaaaa.NumberFormat = "0"
End Sub
コードのAlt+F8を押し、マクロ選択画面でSetNumberFormatForOKColumn関数を実行します。
このコードでは、`Columns(“OK”)`を用いてOK列を指定し、`NumberFormat`プロパティを”0″に設定することで、数値データに変換できるものになっています(^^)/
VBAマクロで列ごとに書式設定(日付)にする方法【インデックス列をyyyymmddの日付の表示形式で指定】
続いては、日付形式での書式設定について解説していきます。
ここでは、インデックス列(基本的にはA列)をyyyymmddの日付の表示形式で指定しています。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SetDateFormatForIndexColumn()
Dim aaaaaIndexColumnAsDateaaaaa As Range
Set aaaaaIndexColumnAsDateaaaaa = Columns("A") 'インデックス列をA列と仮定
aaaaaIndexColumnAsDateaaaaa.NumberFormat = "yyyymmdd"
End Sub
コードのAlt+F8を押し、マクロ選択画面でSetDateFormatForIndexColumn関数を実行します。
このコードでは、`Columns(“A”)`を用いてA列(インデックス列)を指定し、`NumberFormat`プロパティを”yyyymmdd”に設定することで、その列に含まれるデータを指定の日付形式で表示します。
VBAマクロで列ごとに書式設定(文字列)にする方法【2~5列目を一気に文字列で指定】
最後に、文字列形式での書式設定について説明します。
列も複数範囲で指定する形にしてみましたので、ぜひご参考に。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SetStringFormatForColumns()
Dim aaaaaColumnsAsStringaaaaa As Range
Set aaaaaColumnsAsStringaaaaa = Range("B:E") '2列目から5列目を指定
aaaaaColumnsAsStringaaaaa.NumberFormat = "@"
End Sub
コードのAlt+F8を押し、マクロ選択画面でSetStringFormatForColumns関数を実行します。
このコードでは、`Range(“B:E”)`を用いて2列目から5列目を一括指定し、`NumberFormat`プロパティを”@”に設定することで、指定した列に含まれる全てのデータを文字列として扱います。
まとめ VBAマクロで列ごとに書式設定(日付・文字列・ユーザー定義・表示形式・複数・全体)方法【Range, NumberFormat】
ここでは、VBAマクロで列ごとに書式設定(数値・日付・文字列・ユーザー定義・表示形式・複数・全体)方法【Range, NumberFormat】について確認しました。
マクロをマスターして、さらに快適に過ごしていきましょう(^^)/