VBA セルのフォントの色、サイズ、スタイルなどの変更

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 2, 2022

VBA セルフォント

VBAでは、RangeオブジェクトのVBA Fontプロパティを使って、フォントプロパティを変更することができます。VBAエディタに次のコードを入力してください。

Range("A1").Font.

vba cell font セル フォント 以下、代表的なプロパティをいくつか紹介します。

フォントの色を変更する

フォントの色を設定するには、いくつかの方法があります。

vbColor

最も簡単な方法は、vbColorsを使用することです。

Range("a1").Font.Color = vbRed

ただし、使える色はかなり限定されます。利用できるオプションはこれだけです。

vba vbcolor 色

RGB

RGB(Red Green Blue)をベースにした色設定も可能です。ここでは、赤、緑、青のそれぞれに対して0〜255の値を入力します。この3色を使って、任意の色を作ることができます。

Range("a1").Font.Color = RGB(255,255,0)

ColorIndex

VBA / Excelには、ColorIndexというプロパティもあります。これを使うと、あらかじめ作られた色を利用することができます。ただし、Indexの数値として保存されるので、どの色が何なのかが分かりづらいのが難点です。

Range("a1").Font.ColorIndex = ...

VBAのColorIndexコードについての記事を書きました。そちらで、色について詳しく解説しています。

フォントサイズ

フォントサイズを12に設定します。

Range("a1").Font.Size = 12

または16に設定します。

Range("a1").Font.Size = 16

太字フォント

セルのフォントを太字に設定するのも簡単です。

Range("A1").Font.Bold = True

太字を解除するのも簡単です。

Range("A1").Font.Bold = False

フォント名

フォント名を変更するには、Nameプロパティを使用します。

Range("A1").Font.Name = "Calibri"
Range("A1").Font.Name = "Arial"
Range("A1").Font.Name = "Times New Roman"

セルスタイル

Excelでは、セルの「スタイル」を作成することができます。スタイルは、ホームリボン > スタイルで確認できます。

excel vba font styles フォント スタイル

スタイルでは、希望するセルの書式を保存することができます。そして、そのスタイルを新しいセルに割り当てると、すべてのセルフォーマットが即座に適用されます。 フォントサイズ、セルの色、セルの保護状態など、「セルの書式設定」メニューで設定可能な項目はすべて含まれます。

cell formatting menu excel セル 表示形式 フォーマット メニュー

個人的には、多くのモデルで「入力」セルスタイルを作成することが多いですね。

Range("a1").Style = "Input"

また、スタイルを使用することで、ワークシート上のセルの種類を簡単に識別することができます。 以下の例では、ワークシート内のすべてのセルをループして、スタイル = “Input” のセルを “InputLocked” に変更します。

Dim Cell as Range

For Each Cell in ActiveSheet.Cells
  If Cell.Style = "Input " Then
    Cell.Style = "InputLocked"
  End If
Next Cell

 

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples