目次
この記事は、私の連載の一部です。 Excel VBA & Macros - A Step by Step Complete Guide ここでは、Excel VBAで主に使用されるオブジェクトを10個だけ紹介します。
練習用ワークブックをダウンロードする
この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。
VBAオブジェクト.xlsmVBAオブジェクトとは?
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オブジェクトの一覧について説明しました。 皆様のご要望にお応えできれば幸いです。 是非ご覧ください。 エクセルウィキ・ドットコム をクリックし、コメント欄にご意見をお寄せください。