ソーシャルメディア VBAプログラミング - VBAコード内のオブジェクトを参照するダミー

VBAプログラミング - VBAコード内のオブジェクトを参照するダミー

目次:

ビデオ: 【初心者向けエクセルVBA】オブジェクトを変数にセットして取り扱う方法 2025

ビデオ: 【初心者向けエクセルVBA】オブジェクトを変数にセットして取り扱う方法 2025
Anonim

VBAコード内のオブジェクトを参照することは重要です結局のところ、VBAはあなたの心を読むことができません - まだ。読み物オブジェクトはExcel 2019で導入されることが噂されています。

オブジェクトのコレクション全体をひとつにして作業することができます。ただし、コレクション内の特定のオブジェクト(ワークブック内の特定のワークシートなど)で作業する必要があることがよくあります。コレクションから1つのオブジェクトを参照するには、コレクションの名前の後のカッコ内にオブジェクトの名前またはインデックス番号を入れます(

<! - 1 - >
ワークシート( "Sheet1")

シートの名前は引用符で囲まれています。引用符を省略すると、Excelはオブジェクトを識別することができなくなります(変数名であるとみなされます)。

Sheet1がコレクション内の最初の(または唯一の)ワークシートの場合、次の参照を使用することもできます。

ワークシート(1)

この場合、数値は ではなく 引用符。結論?名前を使用してオブジェクトを参照する場合は、引用符を使用します。インデックス番号を使用してオブジェクトを参照する場合は、引用符のないプレーン番号を使用します。

<! - 2 - >

チャートシートはどうですか?チャートシートには単一のチャートが含まれています。シートタブがありますが、ワークシートではありません。さて、オブジェクトモデルにはChartsというコレクションがあります。このコレクションには、ブック内のすべてのチャートシートオブジェクトが含まれます(ワークシートに埋め込まれたチャートは含まれません)。

そして物事を論理的に保つために、Sheetsという別のコレクションがあります。 Sheetsコレクションには、ワークブック内のすべてのシート(ワークシートとチャートシート)が含まれます。 Sheetsコレクションは、ワークブック内のすべてのシートを処理し、ワークシートまたはチャートシートの場合は気にしない場合に便利です。

<! - 3 - >

したがって、Sheet1という単一のワークシートは、WorksheetsコレクションとSheetsコレクションの2つのコレクションのメンバーです。

ワークシート( "シート1")シート( "シート1")

階層をナビゲートする

Excelオブジェクトを使用する場合は、すべてが下にありますアプリケーションオブジェクト。まず、 Application と入力します。

Excelのオブジェクトモデル内の他のすべてのオブジェクトは、Applicationオブジェクトの下にあります。これらのオブジェクトに到達するには、階層を下に移動し、途中で各オブジェクトをドット(。)演算子で接続します。 Book1という名前のWorkbookオブジェクトに到達するには。 xlsx、Applicationオブジェクトから始め、Workbooksコレクションオブジェクト

Applicationに移動します。ワークブック( "Book1。xlsx")

特定のワークシートにさらに移動するには、ドット演算子を追加し、

Application:Worksheetsコレクションオブジェクトにアクセスします。ブック( "Book1。xlsx")。ワークシート(1)

まだ十分ではありませんか? Book1という名前のブックの最初のワークシートのA1セルから値を取得する場合は、 xlsxを使用する場合は、さらに1つのレベルをRangeオブジェクトに移動する必要があります。

Application。ブック( "Book1。xlsx")。ワークシート(1)。範囲( "A1")。 Value

このようにRangeオブジェクトを参照すると、それは 完全修飾参照と呼ばれます。 あなたは、どの範囲のワークシートやワークブックを望むのかをExcelに正確に伝え、想像力に何も残さなかった。想像力は人には良いが、コンピュータプログラムではそれほど良くない。

ところで、ブック名には、拡張子からファイル名を区切るためのドットもあります(たとえば、Book1。xlsx)。それはちょうど偶然のことです。ファイル名のドットは、ドット演算子とはまったく関係がありません。

オブジェクト参照の単純化

オブジェクト参照をすべて修飾する必要がある場合は、コードがかなり長くなり、読みにくくなる可能性があります。幸いにも、Excelには、読みやすさを向上させるためのいくつかのショートカットが用意されています。まず、Applicationオブジェクトが常に想定されます。入力するのが理にかなっているケースはごくわずかです。 Applicationオブジェクトリファレンスを省略すると、この例は

Workbooks( "Book1。xlsx")に短縮されます。ワークシート(1)。範囲( "A1")。値

それはかなり良い改善です。しかし、待って、もっと多くのことがあります。もしあなたが確かにBook1。 xlsxはアクティブなワークブックですが、その参照も省略できます。今度は

ワークシート(1)になります。範囲( "A1")。値

今どこかに行っています。あなたは次のショートカットを推測しましたか?そのとおり。最初のワークシートが現在アクティブなワークシートであることがわかっている場合、Excelはその参照を想定して、

Range( "A1")と入力するだけです。値

一部の人々が考えるとは対照的に、ExcelにはCellオブジェクトがありません。 セル は単なる1つの要素で構成されるRangeオブジェクトです。

ここに記載されているショートカットは素晴らしいものですが、危険なこともあります。あなたが Book1だけを考えるとどうなるでしょうか? xlsxはアクティブなワークブックですか?あなたは間違いをすることができますか、悪いことに、間違った価値を得ることができ、それが間違っていることさえも認識しません。そのため、オブジェクト参照を完全修飾することが最善の方法です。 With-End With構造は、参照を完全修飾するのに役立ちますが、コードをより読みやすくし、型を削減します。両方の世界の最高!

VBAプログラミング - VBAコード内のオブジェクトを参照するダミー

エディタの選択

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

Objective-Cでは、作成していないクラスであっても、iOSアプリケーションの既存のクラスに独自のメソッドを追加できます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション...

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーションの開発では、Objective-Cを使用すると、自分が作成していないクラスであっても、既存のクラスに独自のメソッドを追加することができます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション(たとえば、...

In App Purchase機能がiPadアプリで動作する仕組み

In App Purchase機能がiPadアプリで動作する仕組み

Apple App App Purchase機能を提供します。これにより、アプリユーザーはアプリ内から仮想アイテムを直接購入することができます。複数のレベルや環境、または仮想プロパティを持つゲームアプリケーションを開発する場合は、アプリケーションにIn App Purchase機能を追加して、レベル、環境、またはプロパティをさらに販売することを検討してください。 App Purchaseで...

エディタの選択

効果的なホームビジネスWebサイトを作成する方法 - ダミー

効果的なホームビジネスWebサイトを作成する方法 - ダミー

素晴らしいかもしれませんが、製品やサービスをさらに販売するのに役立たない場合は、時間とお金の無駄です。自宅のビジネスにとって本物の資産であるWebサイトを構築するための、実証済みの方法をいくつか試してみましょう。難しいことではありません...

マスターCSSファイルを作成する方法 - ダミー

マスターCSSファイルを作成する方法 - ダミー

多くのデザイナーがマスターHTMLコードのCSSファイルを作成し、個々のサイトのニーズに合わせて、最初からウェブサイトを構築するプロセスをスピードアップします。あなたがより多くのウェブサイトを構築するにつれて、いくつかのスタイルは標準的なデザインプラクティスの標準的な部分になります。 ...

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

Bing検索結果と並んでクリック単価(PPC)広告はMSN adCenterを通じて提供されます。 adCenterを使用して、Webマーケティングのニーズに合わせてアカウントとキャンペーンを作成できます。 Microsoftは、Bing Travel、adCenter Desktopなどのプログラムを追加することで、PPCサービスのインターフェース、ツール、検索品質、およびボリュームを向上させるために歩み続けています。...

エディタの選択

地中海ダイエットレシピ:フルーツサラダ - ダミー

地中海ダイエットレシピ:フルーツサラダ - ダミー

果実は地中海で豊富に生育し、地中海沿岸に沿って、アメリカ人より一般的に果実を多く食べるため、地中海の高レベルの疾病予防に貢献しています。あなたの次の食事やパーティーのために健康的なサイドディッシュのフルーツサラダを作るには、いくつかの方法があります。果物は地中海で豊富に生育し、地中海沿岸に住む人々は一般にアメリカ人よりも多くの果実を食べるため、地中海の高レベルの疾病予防に寄与します。

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

ジャイロとピタサンドイッチは一般的なカジュアルな食品です地中海でピザや他の地中海のサンドイッチと同じように、今日はピタサンドイッチとジャイロのさまざまなバージョンが存在します。ピタスは蒸気で作られた中央のポーチ付きの丸いパンです。