Excel VBAでよく使われるオブジェクト10個のリスト(属性&サンプル)

  • これを共有
Hugh West

この記事は、私の連載の一部です。 Excel VBA & Macros - A Step by Step Complete Guide ここでは、Excel VBAで主に使用されるオブジェクトを10個だけ紹介します。

練習用ワークブックをダウンロードする

この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。

VBAオブジェクト.xlsm

VBAオブジェクトとは?

An 対象物 は、VBAのコードで特定のタスクを実行するために適用されるコマンドまたは何かです。

があります。 ブイビーエー (Visual Basic Application)は、オブジェクト指向のプログラミング言語です。 オブジェクトはVBAの要素の1つです。

オブジェクトにはプロパティとメソッドがあり、メソッドはそのオブジェクトが行う操作、プロパティはそのオブジェクトの特性を説明するものです。

VBAオブジェクトの属性

VBAオブジェクトを適用するには、オブジェクトにメソッドまたはプロパティが必要です。 ここでは、それらの属性について説明します。

物件紹介

VBAオブジェクトのプロパティ は、オブジェクトの設定と考えることができます。

Excelには多くのオブジェクトがありますが、私たちが扱うExcel VBAのオブジェクトのほとんどは、プロパティを持っています。

  • 範囲オブジェクト はプロパティを持ちます。 そのうちのいくつかは コラム , , , そして 価値 .
  • A チャート オブジェクトは、以下のようなプロパティを持ちます。 レジェンド , チャートエリア , チャートスタイル といった具合に。
  • チャートタイトル はオブジェクトでもあり、以下のようなプロパティを持ちます。 フォント , フォーマット そして ボーダー .

VBAオブジェクトプロパティの使用。

VBAのコードを書くと、次のようなことができます。

  • オブジェクトの現在のプロパティ設定を調べ、その設定に基づいて何かをすることができます。
  • 新しい値を設定することで、オブジェクトのプロパティ設定を変更することができます。

このVBAの文を見てください。

レンジ("E10").Value

この文中では レンジ はオブジェクトです。 価値 VBAステートメントでは、オブジェクトとプロパティはピリオド(1)で区切って並列に配置されます。 一点、. オブジェクトを最初に配置し、次にそのプロパティを配置します。

例えば、次のVBAステートメントでは 価値 ざい レンジE10:100 .

 Range("E10").Value = 100 

その発言により、数 100 で表示します。 セルE10 .

方法です。

A 方法 は、オブジェクトに実装されたアクションです。

オブジェクトにはメソッドもあります。 レンジ オブジェクトは クリア メソッドを使用します。 次の VBA 文は 範囲 を選択するのと同じです。 レンジ を選択し ホーム ➤ 編集 ➤ クリア ➤ すべてクリア :

 レンジ("A10:C20").Clear 

VBAのコードでは、メソッドはプロパティのように見えます。 メソッドとオブジェクトは分離演算子(.)で接続されています。 しかし、VBAではメソッドとプロパティは異なる概念です。

続きを読む データを非表示にするとExcelのチャートが消える(3つの解決方法)

Excelで最もよく使われる10個のVBAオブジェクトのリスト

オブジェクトの場合、Excelが従う階層がある。

アプリケーション → ワークブック → ワークシート → レンジ

ここでは、Excel VBAでよく使われるオブジェクトのリストについて詳しく説明します。

1.アプリケーションオブジェクト

があります。 アプリケーション オブジェクトは、Excelで最も広く使われているオブジェクトの1つで、Excelアプリケーション全体を表現するために使用されます。

メソッド 物件紹介
計算する アクティブセル
CalculateFull アクティブシート
入力ボックス アクティブウィンドウ
やめる アクティブワークブック
実行 スクロールバー表示
アンドゥ DisplayFormulaBar
待つ パス
ステータスバー

このオブジェクトをExcelに適用する際に、必要なプロパティやメソッドを追加する必要があります。

例1.

ここでは 計算する メソッドを使用します。 このマクロは、開いているすべてのワークブックについて計算するために使用されます。

 Sub Calculate_All_Opened_Workbooks() Application.Calculate End Sub 

例2.

以下の例では スクロールバー表示 プロパティに アプリケーション このマクロの目的は、スクロールバーを隠すことです。

 Sub Hide_Status_Bar() Application.DisplayScrollBars = False End Sub 

ここでは、ステータス つまり、Excelシートのスクロールバーは表示されません。

続きを読む Excel VBAを使用してパスからワークブックを開く方法(4つの例)

2.ワークブックオブジェクト

ワークブック オブジェクトは、ワークブックに関連しており、Excelアプリケーションで現在開かれているワークブックのリストを表します。

メソッド 物件紹介
追加 アプリケーション
チェックアウト カウント
閉じる クリエーター
オープン 項目

例1.

ここでは、Workbooksオブジェクトをベースに、Excelワークブックを閉じる簡単なVBAコードを適用しています。

 Sub Close_All_Opened_Workbooks() Workbooks.Close End Sub 

例2.

この例では、新しい変数を追加します。 page_1 について ディズニー.xlsx ワークブック

 Sub Add_Variable_to_Specific_Workbook() Set page_1 = Workbooks.Item("Disney.xlsx") End Sub 

3.ワークブックオブジェクト

があります。 ワークブック オブジェクトは、1つのワークブックを表します。 ワークブック ワークブックはワークシートの集合体です。

メソッド 物件紹介
アクティブ ActiveChart
お気に入りに追加 アクティブシート
閉じる AutoSaveOn
DeleteNumberFormat フルネーム
保存 ユーザーステータス
セーブアズ

例1.

現在のワークブックを閉じたい。

 Sub Close_Single_Workbook() ActiveWorkbook.Close End Sub 

同様のコードをclose workbookにも適用しました。 Workbooksオブジェクトは開いているすべてのワークブックに適用されますが、Workbookオブジェクトはアクティブなワークブックにのみ適用されます。

例2.

この例では、セルに名前をつけるのに ワークブック オブジェクトを作成します。

 Sub Name_A_Cell() ActiveWorkbook.Names.Add Name:="myName"、RefersToR1C1:="=Sheet1!R5C5" End Sub 

4.シートオブジェクト

があります。 シーツ オブジェクトは、指定された、またはアクティブなExcelワークブックのすべての種類のシートに関連しています。 シーツ は、ワークシート、チャートシート、マイクロシートである可能性があります。

メソッド 物件紹介
追加 アプリケーション
加算2 カウント
コピー 項目
削除
移動 可視
プリントアウト
プリントプレビュー
セレクトカルキュレート

例1.

このVBAコードで起動するのは 第2回 のシートは、ワークブックの

 Sub Activate_Workbook() Worksheets(2).Activate End Sub 

例2.

この例では、新しいシートの後に 第1回 シートを使用します。

 Sub Add_New_Sheet() Sheets.Add after:=Sheets(1) End Sub 

5.ワークシート・オブジェクト

この ワークシート オブジェクトは シーツ ワークシートのみを集めたものです。 シーツ オブジェクトには、チャートシートやマイクロシートも含まれます。

メソッド 物件紹介
コピー アプリケーション
削除 カウント
移動 クリエーター
プリントアウト 項目
プリントプレビュー
選択 可視
追加
加算2

例1.

起動することになります。 第2回 次のワークブックのワークシート

 Sub Activate_Worksheet() Worksheets(2).Activate End Sub 

を使用することもあります。 シーツ しかし、もし シーツ オブジェクトは、チャートまたはマイクロシートをアクティブにする可能性があり、指定されたワークブックの場所にも依存します。

例2.

ワークブック上の好きな場所にシートをコピーしていきます。

 Sub Copy_A_Worksheet() Worksheets("Disney").Copy Before:=Worksheets("Sheet1") End Sub 

類似の読み物

  • Excel VBAによる22のマクロ例
  • Excel VBAをマスターするための20の実践的なコーディングのヒント
  • ExcelのVBAコードの書き方(簡単なステップ付き)
  • ExcelのVBAマクロの種類 (クイックガイド)
  • VBAの機能とアプリケーションの紹介

6.ワークシート・オブジェクト

があります。 ワークシート オブジェクトは ワークシート この章では、このコードに基づいたVBAのサンプルコードを紹介します。 ワークシート オブジェクトで、ワークシートの名前を変更します。

メソッド 物件紹介
アクティベート アプリケーション
計算する 細胞
CheckSpelling コラム
コピー コメント
削除 名称
評価する 次のページ
移動 概要
貼り付け ページ設定
ペーストスペシャル
プリントアウト レンジ
プリントプレビュー
セーブアズ シェイプス
選択 ソート
タブ
タイプ
可視

例1.

このVBAコードを適用すると、アクティブなワークシートの名称が変更されます。

 Sub Rename_A_Worksheet() ActiveSheet.Name = "Data Set -2" End Sub 

例2.

現在のワークシートについて知りたい。 次のVBAコードを適用してください。

 Sub Show_Worksheet_Name() MsgBox ActiveSheet.Name End Sub 

7.レンジオブジェクト

があります。 レンジ オブジェクトは、Excel ファイルのセルに関連しています。 Excel ワークシートから 1 つのセル、行、列、または特定の数のセル、行、列を選択するために使用します。 引数にセル参照を記述する必要があります。

メソッド 物件紹介
アクティベート 住所
オートフィル アプリケーション
計算する 地域
クリア 細胞
コピー コラム
削除 カウント
探す 終了
インサート フォント
ペーストスペシャル 高さ
交換 項目
実行
選択 ListObject
表示 名称
ソート 次のページ
テーブル
範囲
トップ
バリデーション
価値

例1.

以下は、範囲内のセルを選択するVBAのサンプルコードです。 B5:D5 .

 Sub Select_A_Range() Range("B5:D5").Select End Sub 

例2.

この例では、アクティブシートからある範囲をコピーします。

 Sub Copy_A_Range1() Range("A1:E1").Copy End Sub 

8.シェイプスオブジェクト

があります。 シェイプス オブジェクトは、ワークシートに存在するすべての図形に関連しています。 このオブジェクトを使用して、選択、削除、その他の作業を行うことができます。

メソッド 物件紹介
AddCallout アプリケーション
AddConnector カウント
AddLine クリエーター
画像の追加
アドシェイプ レンジ
項目
セレクトオール

例1.

このVBAコードは、ワークシートからあらゆる種類の図形を選択するものです。

 Sub All_Shapes_of_A_Worksheet() ActiveSheet.Shapes.SelectAll End Sub 

例2.

この例では、アクティブなワークシートの既存の図形に希望する動作を適用することにします。

 Sub Apply_A_Procedure_on_Shapes() ActiveSheet.Shapes(1).OnAction = "ShapeClick" End Sub 

9.シェイプオブジェクト

があります。 形状 オブジェクトは、Shapesの一部です。 アクティブなワークシート内の1つの図形を表します。 シェイプス オブジェクトを作成します。

メソッド 物件紹介
適用 アプリケーション
コピー オートシェイプタイプ
カット 背景スタイル
削除 チャート
デュプリケート コネクタ
選択 塗りつぶし
高さ
名称
オンアクション
反射
タイトル
トップ
タイプ
可視

この簡単なVBAコードを適用して、星を 5 のエッジを使用しています。

 Sub Create_A_Shape() ActiveSheet.Shapes.AddShape msoShape5pointStar, 300, 100, 60, 60 End Sub 

msoShape5pointStarコマンドを変更することで、任意の図形を描画することができる。

10.ListObjectオブジェクト

ListObject があります。 ListObjects オブジェクト . A ListObject は、ワークシートの1つのテーブルを示す。

メソッド 物件紹介
削除 アクティブ
パブリッシュ アプリケーション
リフレッシュ オートフィルター
リサイズ コメント
クリエーター
名称
レンジ
ソート
概要

この例は、テーブルからデータを取り出して配列に格納するものです。

 Sub Store_Data_From_Table_To_Array() Dim D_Table As ListObject Dim D_Array As Variant Dim N As Long Set D_Table = ActiveSheet.ListObjects("My_Data") D_Array = D_Table.DataBodyRange For N = LBound(D_Array) To UBound(D_Array) Debug.Print D_Array(N, 2) Next N End Sub 

続きを読む Excel VBAで配列にセルの値を入力する(4つの適切な例)

結論

今回は、よく使われるExcel VBAオブジェクトの一覧について説明しました。 皆様のご要望にお応えできれば幸いです。 是非ご覧ください。 エクセルウィキ・ドットコム をクリックし、コメント欄にご意見をお寄せください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。