VBA Rangeオブジェクト変数(Dim / Set Range)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 18, 2022

このチュートリアルでは、VBAのRange Object Variableについて説明します。

変数と定数とは何かについては、「VBAのデータ型 – 変数と定数」のチュートリアルですでに説明しました。今回は、VBAのRangeオブジェクトと、変数をRangeオブジェクトとして宣言する方法について見ていきます。Rangeオブジェクトは、VBAでセルや複数のセルを示すために使用されます。ですから、コードで使用するととても便利です。 VBAのセル範囲とセルについてはこちらをご覧ください。

VBAのRangeオブジェクト

Rangeオブジェクトを使用すると、1つのセルを参照することができます。たとえば、VBAのコードでセルA1を参照してセルの値を設定し、セルのテキストを太字にしたい場合は、次のコードを使用します。

Sub ReferringToASingleCellUsingTheRangeObject()
Range("A1").Value = 89
Range("A1").Font.Bold = True
End Sub

「実行」または「F5」を押してコードを実行すると、実際のワークシートでは、次のような結果になります。

Using the Range Object in Your VBA Code

Rangeオブジェクトを使用すると、複数のセルやセルの範囲を参照することができます。たとえば、VBAのコードでセルの範囲(A1:C1)を参照したい場合、以下のコードのようにVBAのRangeオブジェクトを使用することができます。

Sub ReferringToMultipleCellsUsingTheRangeObject()

Range("A1:C1").Value = "ABC"
Range("A1:C1").Borders(xlEdgeBottom).LineStyle = xlDouble

End Sub

「実行」または「F5」を押してコードを実行すると、実際のワークシートでは次のような結果になります。

Referring to Multiple Cells and Using the Range Object in VBA

変数をRangeとして宣言する

変数を範囲指定する場合は、Dimと Setキーワードを使用する必要があります。以下のコードは、変数を範囲として宣言する方法を示しています。

Sub DeclaringAndSettingARange()

Dim rng As Range
Set rng = Range("A10:B10")

rng.Value = "AutomateExcel"
rng.Font.Bold=True
rng.Select
rng.Columns.AutoFit

End Sub

結果は以下のようになります。

Declaring and Setting a Range Variable in VBA

Rangeオブジェクトで特定の行を選択する

Rangeオブジェクトの中で特定のを選択することができます。以下のコードで、その方法を説明します。

Sub SelectingSpecificRowsInTheRangeObject()

Dim rng As Range
Set rng = Range("A1:C3")

rng.Rows(3).Select

End Sub

結果は以下のようになります。

Selecting a Row in a Range Object

Rangeオブジェクトで特定の列を選択する

Rangeオブジェクトの中で特定の列を選択することができます。以下のコードはその方法を示しています。

Sub SelectingSpecificColumnsInTheRangeObject()

Dim rng As Range
Set rng = Range("A1:C3")

rng.Columns(3).Select

End Sub

Selecting a Column in a Range Object

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