セルのサイズ変更と塗りつぶしのマクロ

ワークシート名とセル番地を指定して、オブジェクトを指定します。

セルのサイズ変更とセルの背景を塗りつぶす方法を説明します。

また、セルの幅と高さを変更するプロパティの使い方を紹介します。

目次

セルのサイズ変更と塗りつぶしのマクロ

  ■ コード内を「Wクリック」で選択できます。
[code] Sub サンプル0035()   With Worksheets(“Sheet1”).Range(“A1”)     .Interior.ColorIndex = 5     .ColumnWidth = 20     .RowHeight = 20   End With   With Worksheets(“Sheet2”).Range(“A1:C3”)     .Interior.ColorIndex = 6     .ColumnWidth = 20     .RowHeight = 20   End With End Sub [/code]

1.デスクトップに作成した「確認用マクロのコピー」を開いて、「Visual Basic」をクリックします。

2.「Visual Basic」の画面で「Module1」を開きます。

3.サンプル0035のコードをコピーして、「Module1のコードウィンドウ」に貼り付けます。

4.このマクロを実行すると、図のようなマクロが実行されます。
Sheet1のセルA1の背景が「青」に塗りつぶされます。

コードの説明

1.ワークシートのSheet1のセル「A1」をオブジェクトに指定します。

1つのオブジェクトに対して、複数のプロパティを使う時は、Withステートメントを使います。
With Worksheets(“Sheet1”).Range(“A1”)

2.セルの背景を塗りつぶすには、InteriorオブジェクトのColorIndexプロパティを使って、塗りつぶす色のインデックス番号を設定します。
.Interior.ColorIndex = 5

3.セルの幅の変更は、Rangeオブジェクトの「ColumnWidth」プロパティを使います。

設定幅は、ポイント単位(1ポイント=約0.35mm)の整数で設定します。
.ColumnWidth = 20

4.セルの高さの設定は、Rangeオブジェクトの「RowHeight」プロパティを使います。
セルの高さの単位は、ピクセルを使います。
ピクセルは、ディスプレイの表示の出力の最小単位です。

セルの高さが13.50ポイントの場合は、ディスプレイ上では18ピクセルになります。
.RowHeight = 20

5.最後に、「End With」で閉じます。
With Worksheets(“Sheet1”).Range(“A1”)
    .Interior.ColorIndex = 5
    .ColumnWidth = 20
    .RowHeight = 20
End With

6.次に、セル範囲のオブジェクトを指定して、セルの塗りつぶしとセルのサイズ変更を設定します。
With Worksheets(“Sheet2”).Range(“A1:C3”)

7.対象となるセルの範囲を設定したら、後は同様にInteriorオブジェクトのColorIndexプロパティと、Rangeオブジェクトの「ColumnWidth」プロパティ、「RowHeight」プロパティを設定します。
With Worksheets(“Sheet2”).Range(“A1:C3”)
    .Interior.ColorIndex = 6
    .ColumnWidth = 20
    .RowHeight = 20
End With

8.完成したマクロを実行すると、2つのワークシートのセルが塗りつぶしとセルのサイズが変更されます。

ColorプロパティとRGB関数

上のマクロでは、セルの背景を塗りつぶすのに、ColorIndexプロパティを使いました。

しかし、ColorIndexプロパティの色数は、限られています。

好きな色を自由に使いたい場合は、Colorプロパティを使うと良いでしょう。

上のマクロをColorプロパティで置き換えると次のようになります。

  ■ コード内を「Wクリック」で選択できます。
[code] Sub サンプル0040()   With Worksheets(“Sheet1”).Range(“A1”)     .Interior.Color = RGB(0, 0, 255)     .ColumnWidth = 20     .RowHeight = 20   End With   With Worksheets(“Sheet2”).Range(“A1:C3”)     .Interior.Color = RGB(255, 255, 0)     .ColumnWidth = 20     .RowHeight = 20   End With End Sub [/code]

ColorIndex = 5(青) はColor = RGB(0, 0, 255)
ColorIndex = 6(黃) はColor = RGB(255, 255, 0)となります。

インプットボックスの使い方については次の記事が参考になります。
■関連記事■ インプットボックスの使い方

以上で「セルのサイズ変更と塗りつぶしのマクロ」の説明を終わります。

目次