Home » エクセルマクロ・Excel VBAの使い方 » プロパティは2種類ある

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

Excel VBAの学習をはじめた頃の、昔の自分に伝えたいことがいくつかあります。

そのひとつがプロパティは2種類に分類できること。
そして、その一方は比較的簡単に理解できるけれど、もう一方は理解するのにちょっと時間がかかる、ということです。

2種類のプロパティとは、

  • 単なるデータを取得するプロパティ
  • オブジェクトを取得するプロパティ

です。

[スポンサードリンク]

単なるデータを取得するプロパティ

単なるデータを取得するプロパティは理解しやすく、実は、こちらの解説しか行っていないExcel VBA入門書籍が(残念ながら)たくさん存在しています。

例えば、
  MsgBox Range("A1").Value
を実行するとA1セルの値がメッセージボックスに表示されます。
このValueが単なるデータを取得するプロパティの代表です。

その他、
  RangeオブジェクトのTextプロパティ
  RangeオブジェクトのFormulaプロパティ
  RangeオブジェクトのNumberFormatLocalプロパティ
  RangeオブジェクトのRowプロパティ
  RangeオブジェクトのColumnプロパティ
  WorksheetオブジェクトのNameプロパティ
  WorksheetオブジェクトのVisibleプロパティ
  WorkbookオブジェクトのNameプロパティ
  WorkbookオブジェクトのPathプロパティ
  ApplicationオブジェクトのDisplayAlertsプロパティ
などが、単なるデータを取得する(一部は設定もできる)プロパティです。

単純な代入文で、変数にデータを代入できます。

オブジェクトを取得するプロパティ

これに対して、オブジェクトを取得するプロパティは、理解するのに少し時間がかかります。

先ほどの、
  MsgBox Range("A1").Value
のRangeがオブジェクトを取得するプロパティの代表です。

その他、
  ActiveCellプロパティ
  Cellsプロパティ
  Rowsプロパティ
  Columnsプロパティ
  RangeオブジェクトのEndプロパティ
  RangeオブジェクトのOffsetプロパティ
  RangeオブジェクトのCurrentRegionプロパティ
  ActieSheetプロパティ
  Sheetsプロパティ
  Worksheetsプロパティ
  Chartsプロパティ
  ActiveWorkbookプロパティ
  Workbooksプロパティ
  ActiveWindowプロパティ
  Applicationプロパティ
などが、オブジェクトを取得するプロパティです。

そして、これらのプロパティの戻り値を変数に代入するときには、Setキーワードが必要です。

最終更新日時:2019-05-26 10:54

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » プロパティは2種類ある

TrackBack:5

TrackBack URL
Rangeはオブジェクト?プロパティ? from インストラクターのネタ帳
Excel VBAで、変数宣言に登場する「Range」はオブジェクトで、実際に処理を行う部分に登場する「Range」はプロパティです。
Endプロパティを使ってセル範囲を取得する from インストラクターのネタ帳
Range.Endプロパティを使ってセル範囲を表すRangeオブジェクトを取得するには、Rangeプロパティを利用します。
Cellsオブジェクトは存在しない from インストラクターのネタ帳
Excel VBAにCellsという名前のオブジェクトは存在しません。コード内でよく見かけるCellsはRangeオブジェクトを返すプロパティです。
ウォッチ式に変数でないものを from インストラクターのネタ帳
ウォッチウィンドウで変数以外を確認するにはウォッチ式に何を登録すればいいのかを解説しています。
VBA経験者はChapter 8「オブジェクト関連の文法を学ぼう」を from インストラクターのネタ帳
『いちばんやさしいExcel VBAの教本』はExcel VBA入門書ですが、経験がある方はChapter 8「オブジェクト関連の文法を学ぼう」をご確認く...

Home » エクセルマクロ・Excel VBAの使い方 » プロパティは2種類ある

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.