更新日:、 作成日:
VBA セルの書式設定を取得または設定する
はじめに
Excel VBA マクロでセルの書式設定を取得または設定する方法を紹介します。
セルの書式設定の表示形式、配置、フォント、罫線、塗りつぶし、保護を取得または設定する方法を紹介します。
書式をクリアするには「セルの書式をクリアする」をご覧ください。
表示形式
セルの書式設定の表示形式を取得または設定するには NumberFormatLocal プロパティを使用します。
' 取得
Dim s As String
s = Range("A1").NumberFormatLocal
' 設定
Range("A1").NumberFormatLocal = "yyyy/m/d"
詳しくは次をご覧ください。
配置
セルの書式設定の配置を取得または設定する方法を紹介します。
' 文字の配置
Range("A1").HorizontalAlignment = xlGeneral ' 横位置
Range("A1").VerticalAlignment = xlCenter ' 縦位置
Range("A1").AddIndent = False ' 前後にスペースを入れる
Range("A1").IndentLevel = 0 ' インデント
' 文字の制御
Range("A1").WrapText = False ' 折り返して全体を表示する
Range("A1").ShrinkToFit = False ' 縮小して全体を表示する
Range("A1").MergeCells = False ' セルを結合する
' 右から左
Range("A1").ReadingOrder = xlContext ' 文字の方向
Range("A1").Orientation = 0 ' 方向の角度
HorizontalAlignment (横位置) には次の値を指定します。
定数名 | 値 | 説明 |
xlGeneral | 1 | 標準 |
xlLeft | -4131 | 左詰め |
xlCenter | -4108 | 中央揃え |
xlRight | -4152 | 右詰め |
xlFill | 5 | 繰り返し |
xlJustify | -4130 | 両端揃え |
xlCenterAcrossSelection | 7 | 選択範囲内で中央 |
xlDistributed | -4117 | 均等割り付け |
VerticalAlignment (縦位置) には次の値を指定します。
定数名 | 値 | 説明 |
xlTop | -4160 | 上詰め |
xlCenter | -4108 | 中央揃え |
xlBottom | -4107 | 下詰め |
xlFill | 5 | 繰り返し |
xlJustify | -4130 | 両端揃え |
xlDistributed | -4117 | 均等割り付け |
ReadingOrder (文字の方向) には次の値を指定します。
定数名 | 値 | 説明 |
xlContext | -5002 | 対象 |
xlLTR | -5003 | 左から右 |
xlRTL | -5004 | 右から左 |
スポンサーリンク
フォント
セルの書式設定のフォントを取得または設定するには Font プロパティを使用します。
' 取得
Dim f As Font
Set f = Range("A1").Font
' 設定
Range("A1").Font.Color = RGB(255, 0, 0) ' 文字色
Range("A1").Font.Name = "MS Pゴシック" ' 名前
Range("A1").Font.Size = 11 ' サイズ
Range("A1").Font.Bold = True ' 太字
詳しくは次をご覧ください。
Font オブジェクトにはこの他にもプロパティが存在します。
罫線
セルの書式設定の罫線を取得または設定するには Borders プロパティを使用します。
' 取得
Dim bs As Borders
Set bs = Range("A1").Borders
' 設定
Range("A1").Borders.Color = RGB(255, 0, 0) ' 色
Range("A1").Borders.ColorIndex = 3 ' 色番号
Range("A1").Borders.LineStyle = xlContinuous ' 種類
Range("A1").Borders.Weight = xlThin ' 太さ
詳しくは次をご覧ください。
「セルに罫線を引く」
塗りつぶし
セルの書式設定の塗りつぶしを取得または設定するには Interior プロパティを使用します。
' 取得
Dim l As Long
Dim i As Integer
l = Range("A1").Interior.Color ' 背景色
i = Range("A1").Interior.ColorIndex ' 背景色番号
i = Range("A1").Interior.Pattern ' パターン
l = Range("A1").Interior.Pattern.Color ' パターンの色
i = Range("A1").Interior.Pattern.ColorIndex ' パターンの色番号
' 設定
Range("A1").Interior.Color = RGB(255, 0, 0) ' 背景色
Range("A1").Interior.ColorIndex = 3 ' 背景色番号
Range("A1").Interior.Pattern = xlPatternGray50 ' パターン
Range("A1").Interior.Pattern.Color = RGB(0, 255, 0) ' パターンの色
Range("A1").Interior.Pattern.ColorIndex = 4 ' パターンの色番号
Pattern には次の値を指定します。
定数名 | 値 | 説明 | イメージ |
xlPatternAutomatic | -4105 | 自動 | |
xlPatternChecker | 9 | 左下がり斜線格子 | |
xlPatternCrissCross | 16 | 実線左下がり斜線格子 | |
xlPatternDown | -4121 | 右下がり縦線縞 | |
xlPatternGray16 | 17 | 12.5%灰色 | |
xlPatternGray25 | -4124 | 25%灰色 | |
xlPatternGray50 | -4125 | 50%灰色 | |
xlPatternGray75 | -4126 | 75%灰色 | |
xlPatternGray8 | 18 | 6.25%灰色 | |
xlPatternGrid | 15 | 実線横格子 | |
xlPatternHorizontal | -4128 | 横縞 | |
xlPatternLightDown | 13 | 実線右下がり斜線縞 | |
xlPatternLightHorizontal | 11 | 実線横縞 | |
xlPatternLightUp | 14 | 実線左下がり斜線縞 | |
xlPatternLightVertical | 12 | 実線縦縞 | |
xlPatternNone | -4142 | パターン・塗りつぶし無し | |
xlPatternSemiGray75 | 10 | 極太線左下がり斜線格子 | |
xlPatternSolid | 1 | 塗りつぶし | |
xlPatternUp | -4162 | 左下がり縦線縞 | |
xlPatternVertical | -4166 | 縦縞 |
文字色や背景色を取得または設定するには次をご覧ください。
保護
セルの書式設定の保護を取得または設定する方法を紹介します。
' 取得
Dim b As Boolean
b = ActiveSheet.ProtectContents ' シートが保護されているか
b = Range("A1").Locked ' セルがロックされているか
' 設定
Call ActiveSheet.Protect(UserInterfaceOnly:=True) ' シートを保護する
ActiveSheet.Unprotect ' シートの保護を解除する
Range("A1").Locked = True ' セルをロックする
セルをロックするには、先にシートの保護を有効にする必要があります。
シートが保護されているかどうかは ProtectContents で判定できます。
詳しくは次をご覧ください。
「シートを保護する」
スポンサーリンク