Vba で excel スプレッドシートを使用するにはどうすればよいですか?
VBA では、ワークシート オブジェクトは、ワークブックのワークシート (またはシート) のコレクションの一部である単一のワークシートを表します。ワークシート オブジェクトを使用すると、VBA コードでワークシートを参照したり、ワークシートを参照したり、それに関連するプロパティ、メソッド、イベントにアクセスしたりできます。
Excel オブジェクト階層におけるワークシートの位置の概要を次に示します。
アプリケーション➪ワークブック➪ワークシート➪ワークシート
このチュートリアルでは、VBA コードを使用して Excel でワークシートを使用および参照する方法を学習します。
役立つリンク:マクロの実行–マクロ レコーダー– Visual Basic Editor –パーソナル マクロ ハンドブック
シートとスプレッドシート
まずは始めましょう。これは、スプレッドシートとシートの違いを理解するために重要です。 Excel では、ブックに挿入できるシートの種類があり、ワークシートもその種類の 1 つです。以下のスナップショットでわかるように、新しいシートを挿入すると、Excel はシートの種類を選択するように求めます。
ここで理解しておくべきことは、「シート」という単語を使用する場合は、すべてのシート (スプレッドシート、マクロ シート、グラフ シート) を指しますが、「ワークシート」という単語を使用する場合は、スプレッドシートのみを指します ( 「また)。
VBAを使用してワークシート(シート)にアクセスする
VBA では、ワークブックからワークシートにアクセスするさまざまな方法が提供されます。そのためのさまざまな方法については後ほど説明します。
1. 名前を使用してシートを参照します。
各シートにはそれを識別するための名前があり、それを使用してそのシートを参照することもできます。 「Sheet1」を参照したいとすると、コードは次のようになります。
Sheets(“Sheet1”) Worksheets(“Sheet1”)
上記の 2 つのコードは「Sheet1」を参照しています。
2. 番号を使用してシートを参照してください
シート番号を使用して参照することもできます。シートがワークブックの 5 番目の位置にある場合、その番号を使用してそれを参照できるとします。
Sheets (5) Worksheets (5)
上記の 2 行のコードは、2 つの異なる方法で動作します。最初の行はワークブックの 5 番目のシートを参照し、2 番目の行から 5 番目のワークシートを参照します。
3. ActiveSheetを参照する
シートがすでにアクティブな場合は、名前の代わりにキーワード「Activesheet」を使用してシートを参照できます。
ActiveSheet
ActiveSheet でアクティビティを実行する場合は、「Activesheet」オブジェクトを使用できますが、それを使用しない場合でも、VBA はアクティブ シートでアクティビティを実行します。
読む: VBA を使用して範囲を選択する
4. コードウィンドウ名を使用してシートを参照します。
各シートにはコード ウィンドウがあり、このコード ウィンドウには名前があります。通常、ユーザーはタブからシート名を変更できますが、コード ウィンドウ内の名前はプロパティから変更しない限り変更できません。
[開発] タブから Visual Basic Editor を開くと、プロパティ セクションに選択したシートの名前が表示されます。
また、プロパティ セクションからこの名前を変更することもできます。
これで、コード ウィンドウ名を使用してそれを参照できるようになります。
mySheet
5. 複数のシートを参照する
単一行のコードを使用して、複数のシートを一度に参照することもできます。このためには、次のコードのように配列を使用できます。
Sheets(Array("Sheet1", "Sheet2"))
このコードは「Sheet1」と「Sheet2」を参照していますが、複数のシートを参照する場合に理解する必要があることが 1 つあり、使用できないメソッドとプロパティがいくつかあります。
6. 別のブックのシートを参照する
ワークシートまたはシートはワークブック内のワークシートのコレクションの一部であり、アクティブなワークブック以外の特定のシートを参照したい場合は、まずそのワークブックを参照する必要があります。
Workbooks("Book1").Sheets("Sheet1")
このコードを実行するには、「Book1」を開いている必要があります。
シートまたはワークシートに関連するプロパティ、メソッド、およびイベント
VBA では、各 Excel オブジェクトに使用できるプロパティ、メソッド、イベントがあり、同様に、それに付属するプロパティやメソッドにアクセスできます。ワークシートを指定したら、ドット (.) を入力するとリストが表示されます。
このリストでは、ハンドが表示されているアイコンはすべてプロパティであり、緑色のレンガがあるアイコンはメソッドです。
プロパティの例
ワークシートのタブの色を変更したいとします。この場合、ワークシートの TAB プロパティを使用できます。
mySheet.Tab.ThemeColor = xlThemeColorAccent2
上記のコード行には、ワークシート タブの色を変更するための tab プロパティと別のテーマ カラー プロパティがあります。
方法例
同様に、スプレッドシートで提供されているメソッドを使用することもできます。最も一般的な方法の 1 つは、シートを選択するために使用できる「選択」方法です。
mySheet.Select
このコードを実行すると、アクティブなブック内の「mySheet」が選択されます。
イベント例
一部のイベントはワークシートに関連付けられています。たとえば、シートをアクティブにするときはイベントであり、シート内の何かを変更するときも同様です。次のコードを参照してください。イベント (ワークシート内の変更) が発生したときに実行するコードが含まれています。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub
このコードは、ワークシートに変更を加えるたびに、シートのセル A1 に値を入力します。
ワークシートオブジェクトを宣言する
変数をワークシートとして宣言することもできます。これにより、VBA コードでそのワークシートを簡単に使用できるようになります。最初に DIM キーワードを使用し、次に変数名を使用します。その後、オブジェクトの種類をワークシートとして指定します。
関連するチュートリアル
- Excel で VBA を使用してシート全体を消去する
- VBA を使用して Excel でシートをコピーおよび移動する
- Excel で VBA を使用した COUNT シート
- Excel で VBA を使用してシートを削除する
- Excel で VBA を使用してシートを非表示および表示する