サイトについて      連絡先   検索

VBA セルの書式設定

はじめに

Excel VBA のセルの書式設定をする方法を紹介します。

表示形式、配置、フォント、罫線、パターン、保護を取得または設定する方法を紹介します。

書式設定

Excel で表示形式を設定するには、セルを右クリックして「セルの書式設定」をクリックします。

1

表示形式

表示形式を取得または設定するには 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 には次の値を指定します。

定数名 説明
xlGeneral1標準
xlLeft-4131左詰め
xlCenter-4108中央揃え
xlRight-4152右詰め
xlFill5繰り返し
xlJustify-4130両端揃え
xlCenterAcrossSelection7選択範囲内で中央
xlDistributed-4117均等割り付け

VerticalAlignment には次の値を指定します。

定数名 説明
xlTop-4160上詰め
xlCenter-4108中央揃え
xlBottom-4107下詰め
xlFill5繰り返し
xlJustify-4130両端揃え
xlDistributed-4117均等割り付け

ReadingOrder には次の値を指定します。

定数名 説明
xlContext-5002対象
xlLTR-5003左から右
xlRTL-5004右から左

フォント

フォントを取得または設定する方法を紹介します。

' 取得
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         ' パターンの色番号

ReadingOrder には次の値を指定します。

定数名 説明 イメージ
xlPatternAutomatic-4105自動1
xlPatternChecker9左下がり斜線格子2
xlPatternCrissCross16実線左下がり斜線格子3
xlPatternDown-4121右下がり縦線縞4
xlPatternGray161712.5%灰色5
xlPatternGray25-412425%灰色6
xlPatternGray50-412550%灰色7
xlPatternGray75-412675%灰色8
xlPatternGray8186.25%灰色9
xlPatternGrid15実線横格子10
xlPatternHorizontal-4128横縞11
xlPatternLightDown13実線右下がり斜線縞12
xlPatternLightHorizontal11実線横縞13
xlPatternLightUp14実線左下がり斜線縞14
xlPatternLightVertical12実線縦縞15
xlPatternNone-4142パターン・塗りつぶし無し16
xlPatternSemiGray7510極太線左下がり斜線格子17
xlPatternSolid1塗りつぶし18
xlPatternUp-4162左下がり縦線縞19
xlPatternVertical-4166縦縞20

保護

保護を取得または設定する方法を紹介します。

' 取得
Dim b As Boolean
b = ActiveSheet.ProtectContents ' シートが保護されているか
b = Range("A1").Locked

' 設定
ActiveSheet.Protect UserInterfaceOnly:=True ' シートを保護する
ActiveSheet.Unprotect                       ' シートの保護を解除する 
Range("A1").Locked = True                   ' セルをロックする

セルをロックするには、先にシートの保護を有効にする必要があります。

シートが保護されているかどうかは ProtectContents で判定できます。

関連ページ