/ / Excel VBA範囲オブジェクト

Excel VBA範囲オブジェクト

範囲の例 | 細胞 | 範囲オブジェクトを宣言する | 選択 | | | コピーペースト | クリア | カウント

Rangeオブジェクトは、ワークシート上のセル(またはセル)の表現であり、 Excel VBA。この章では、プロパティ、およびメソッドを定義します。プロパティはオブジェクトが持っているもの(オブジェクトを記述する)ですが、メソッドは何かを行います(オブジェクトでアクションを実行します)。

範囲の例

ワークシートにコマンドボタンを配置し、次のコード行を追加します。

Range("B3").Value = 2

シート上のコマンドボタンをクリックすると、結果が表示されます。

ExcelのVBA範囲の例

コード:

Range("A1:A4").Value = 5

結果:

範囲の例

コード:

Range("A1:A2,B3:C4").Value = 10

結果:

範囲の例

注:Excel VBAコードの名前付き範囲を参照するには、次のようなコード行を使用します。

Range("Prices").Value = 15

細胞

範囲の代わりに、セルを使用することもできます。セルを使用すると、範囲をループしたいときに特に便利です。

コード:

Cells(3, 2).Value = 2

結果:

Excel VBAのセル

説明:Excel VBAは、行3と列2の交差点のセルに値2を入力します。

コード:

Range(Cells(1, 1), Cells(4, 1)).Value = 5

結果:

細胞

範囲オブジェクトを宣言する

DimオブジェクトとSetオブジェクトを使用してRangeオブジェクトを宣言できます。

コード:

Dim example As Range
Set example = Range("A1:C4")

example.Value = 8

結果:

Excel VBAでRangeオブジェクトを宣言する

選択

Rangeオブジェクトの重要なメソッドはSelectメソッドです。 Selectメソッドは単に範囲を選択します。

コード:

Dim example As Range
Set example = Range("A1:C4")

example.Select

結果:

メソッドの選択

注:別のワークシート上のセルを選択するには、まずこのシートをアクティブ化する必要があります。たとえば、次のコード行は、左から3番目のワークシートのセルB7を選択します。

Worksheets(3).Activate
Worksheets(3).Range("B7").Select

Rowsプロパティは、範囲の特定の行へのアクセスを提供します。

コード:

Dim example As Range
Set example = Range("A1:C4")

example.Rows(3).Select

結果:

行プロパティ

注:説明のための枠線のみ。

Columnsプロパティは、範囲の特定の列にアクセスできるようにします。

コード:

Dim example As Range
Set example = Range("A1:C4")

example.Columns(2).Select

結果:

Columnsプロパティ

注:説明のための枠線のみ。

コピーペースト

コピーと貼り付けの方法は、範囲をコピーし、ワークシート上の他の場所に貼り付けるために使用されます。

コード:

Range("A1:A2").Select
Selection.Copy

Range("C3").Select
ActiveSheet.Paste

結果:

コピー/ペースト方法

これはExcel VBAでは許可されていますが、まったく同じコード行を使用する方がずっと優れています。

Range("C3:C4").Value = Range("A1:A2").Value

クリア

Excel範囲の内容をクリアするには、ClearContentsメソッドを使用します。

Range("A1").ClearContents

または単に以下を使用してください:

Range("A1").Value = ""

注:範囲の内容と書式をクリアするには、Clearメソッドを使用します。 ClearFormatsメソッドを使用して、フォーマットのみを消去します。

カウント

Countプロパティを使用すると、範囲のセル、行、および列の数をカウントできます。

カウントプロパティ

注:説明のための枠線のみ。

コード:

Dim example As Range
Set example = Range("A1:C4")

MsgBox example.Count

結果:

セルをカウントする

コード:

Dim example As Range
Set example = Range("A1:C4")

MsgBox example.Rows.Count

結果:

行数

注:同様の方法で、範囲の列数を数えることができます。

また読む: