Excel VBA ベーシック・セル RangeとCellsについて

ExcelVBA のセルを表すRangeとCells、なぜセルを表す記述が2種類あるのか?これに焦点をあてて解説します。

Excel VBA RangeとCellsの違い

 

レストランで例える

Rangeは、一度に複数のテーブル席に座っているお客さんにドリンクを提供することができます。

Cellsは、特定のテーブル席の特定の位置に、お客さんにドリンクを提供することができます。

 

Rangeは複数のセルを扱える一方で、Cellsは個々のセルにアクセスできます。

 

Excel VBA RangeとCellsの概念

 

Range

Rangeは複数のテーブル席に広がる大きなエリアです。一度に複数のテーブル席の注文を受け付けることができます。

たとえば、 レストランのランチメニューをRangeと見なし、ランチセットAをRange("A1:C1")で指定します。これにより、セットAの料理名、価格、詳細が同じエリアに表示されることが可能です。

 

Cells

Cellsは特定のテーブル席の特定の位置です。個々のテーブル席ごとに注文を扱います。

たとえば、 テーブル5のランチセットBをCells(5, 1)で指定します。ここでは、特定の行(テーブル)と列(注文の種類や価格)にアクセスして、その位置に対して注文を記録します。

 

Excel VBA RangeとCellsの使い方

Rangeを使った例

Sub RangeExample() 
  Range("A1:B10").Value = 100 
End Sub

 

Cellsを使った例

Sub CellsExample() 
  Cells(1, 1).Value = 200 
End Sub

 

Rangeは特定のセル範囲を指定し、その範囲内の個々のセルにアクセスするために使用されます。

一方、Cellsは特定の位置のセルを直接指定することによって、個々のセルを操作します。

両者の違いは、対象となるデータの範囲を指定する方法にあります。

 

指定セル 記述内容
A1 Range("A1")  ※Range(セル)
A1 Cells(1,1) ※Cells(行、列)
C1からC3までのセル Range("C1":"C3")
A5とC5のセル Range("A5,C5")

 

ポイント

  • Rangeは特定のセル範囲
  • Cellsは特定の位置のセル

 

初心者がつまずきやすいポイントにRangeとCellsがあります。上記の内容で、イマイチわからないという人は、下記記事をチェックしてください。

ExcelVBAで迷子にならない!RangeとCellsの使い分け術

Excel VBAのスキルを身につけて、仕事の効率化に貢献しませんか?

当サイトでは、Excel VBAエキスパート認定資格取得に向けた情報を提供しています。興味がある方は、ぜひ以下の問題集からチャレンジしてみてください。

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。