Excel VBA 範囲オブジェクト

VBA 範囲とは何ですか?

VBA Range オブジェクトは、Excel ワークシート内の XNUMX つまたは複数のセルを表します。 Excel VBA の最も重要なオブジェクトです。 Excel VBA の範囲オブジェクトを使用すると、以下を参照できます。

  • 単一細胞
  • セルの行または列
  • 細胞の選択
  • 3D 範囲

前のチュートリアルで説明したように、VBA はマクロの記録と実行に使用されます。 ただし、VBA がシートのどのデータを実行する必要があるかを識別する方法について説明します。 ここで VBA Range オブジェクトが役立ちます。

VBA でのオブジェクト参照の概要

Excel の VBA 範囲オブジェクトとオブジェクト修飾子を参照します。

  • オブジェクト修飾子: オブジェクトを参照するために使用されます。 参照しているワークブックまたはワークシートを指定します。

これらのセル値を操作するには、 プロパティ   メソッド 使用されています。

  • プロパティ: プロパティには、オブジェクトに関する情報が保存されます。
  • 方法: メソッドは、それが実行するオブジェクトのアクションです。 Range オブジェクトは、選択、コピー、クリア、並べ替えなどのアクションを実行できます。

VBA は、Excel 内のオブジェクトを参照するためにオブジェクト階層パターンに従います。次の構造に従う必要があります。上記の .dot は、異なる各レベルのオブジェクトを接続することに注意してください。

アプリケーション.ワークブック.ワークシート.範囲

デフォルトのオブジェクトには主に XNUMX つのタイプがあります。

Rangeプロパティを使用してExcel VBA Rangeオブジェクトを参照する方法

Range プロパティは XNUMX つの異なるタイプのオブジェクトに適用できます。

  • ワークシートオブジェクト
  • 範囲オブジェクト

Range プロパティの構文

  1. キーワードは「レンジ」。
  2. キーワードに続く括弧
  3. 関連するセル範囲
  4. 引用 (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")

Range オブジェクトを参照する場合、上に示したように、次のように参照されます。 完全修飾リファレンス。 Excel に、どの範囲、どのシート、どのワークシートに必要かを正確に指示しました。

例:: メッセージBox ワークシート(“シート1”).範囲(“A1”).値

Range プロパティを使用すると、次のような多くのタスクを実行できます。

  • 範囲プロパティを使用した単一セルを参照してください。
  • Worksheet.Range プロパティを使用して単一セルを参照する
  • 行または列全体を参照する
  • Worksheet.Range プロパティなどを使用して結合されたセルを参照する

そのため、範囲プロパティのすべてのシナリオをカバーするには長すぎます。 上記のシナリオについては、XNUMX つのみの例を示します。 「範囲プロパティを使用する単一セル」を参照してください。

Worksheet.Range プロパティを使用して単一セルを参照する

単一のセルを参照するには、単一のセルを参照する必要があります。

構文は単純です 「範囲(「セル」)」。

ここでは、「.Select」コマンドを使用してシートから単一のセルを選択します。

ステップ1) このステップでは、Excel を開きます。

Worksheet.Range プロパティを使用した単一セル

ステップ2) このステップでは、

  • ソフトウェアの制限をクリック Worksheet.Range プロパティを使用した単一セル
  • 窓が開きます。
  • ここにプログラム名を入力し、「OK」ボタンをクリックします。
  • メインの Excel ファイルに移動します。トップメニューから「記録停止」ボタンをクリックしてマクロの記録を停止します。

Worksheet.Range プロパティを使用した単一セル

ステップ3) 次のステップでは、

  • マクロボタンをクリックします Worksheet.Range プロパティを使用した単一セル トップメニューから。 下のウィンドウが開きます。
  • このウィンドウで、「編集」ボタンをクリックします。

Worksheet.Range プロパティを使用した単一セル

ステップ4) 上記の手順により、ファイル名「Single Cell Range」の VBA コード エディターが開きます。 Excelから範囲「A1」を選択するには、以下のコードを入力します。

Worksheet.Range プロパティを使用した単一セル

ステップ5) ファイルを保存します Worksheet.Range プロパティを使用した単一セル 以下に示すようにプログラムを実行します。

Worksheet.Range プロパティを使用した単一セル

ステップ6) プログラムを実行すると、セル「A1」が選択されていることがわかります。

Worksheet.Range プロパティを使用した単一セル

同様に、特定の名前のセルを選択することもできます。たとえば、「Guru99- VBA Tutorial」という名前のセルを検索する場合、以下に示すようにコマンドを実行する必要があります。その名前のセルが選択されます。

Range(「Guru99- VBA チュートリアル」).Select

他の範囲オブジェクトを適用するためのコードサンプルを次に示します。

Excelでセルを選択する範囲 宣言された範囲
単一列の場合 範囲(「1:1」)
単一カラムの場合 範囲(「A:A」)
連続したセルの場合 範囲(「A1:C5」)
隣接していないセルの場合 範囲(「A1:C5、F1:F5」)
XNUMX つの範囲の交差の場合 範囲(「A1:C5 F1:F5」)

(交差セルの場合、コンマ演算子がないことに注意してください)

セルを結合するには 範囲(「A1:C5」)

(セルを結合するには「merge」コマンドを使用します)

セルのプロパティ

範囲と同様に、 VBA 「セルのプロパティ」も実行できます。 唯一の違いは、スプレッドシート上のセルを参照するために使用する「item」プロパティがあることです。 セルのプロパティはプログラミング ループで役立ちます。

たとえば、

Cells.item(行、列)。 以下の両方の行はセル A1 を参照しています。

  • Cells.item(1,1) OR
  • Cells.item(1,”A”)

範囲オフセット プロパティ

Range offset プロパティは、元の位置から離れた行/列を選択します。 宣言された範囲に基づいてセルが選択されます。 以下の例を参照してください。

たとえば、

Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select

この結果はセル B2 になります。 offset プロパティは、A1 セルを 1 列 1 行離れたところに移動します。 要件に応じて rowoffset / columnoffset の値を変更できます。 負の値 (-1) を使用すると、セルを後方に移動できます。

上記のコードを含む Excel をダウンロード

上記のExcelコードをダウンロードします。

製品概要

  • VBA Range オブジェクトは、Excel ワークシート内の XNUMX つまたは複数のセルを表します。
  • 単一細胞
  • セルの行または列
  • 細胞の選択
  • 3D 範囲
  • セル値を操作するには、 プロパティ   メソッド 使用されている
  • プロパティにはオブジェクトに関する情報が保存されます
  • メソッドは、選択、マージ、ソートなど、実行されるオブジェクトのアクションです。
  • VBA はオブジェクト階層パターンに従い、.dot 演算子を使用して Excel 内のオブジェクトを参照します。
  • Range プロパティは XNUMX つの異なるタイプのオブジェクトに適用できます
  • ワークシートオブジェクト
  • 範囲オブジェクト