【Excel】エクセル VBA編 範囲オブジェクトを選択・ループ・コピー&ペースト

範囲オブジェクトはワークシート上のセル(またはセル)の表現であり、最も重要な対象であるエクセル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

細胞

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

コード:

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オブジェクトの重要なメソッドは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

結果:

行数

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です