Excel VBAでシートを追加する:Add

VBA でシートを追加するには、Add メソッドを使用します。ここでは、Add メソッドの使い方について説明します。

Add メソッドの使い方

Add メソッドの構文は以下の通りです。

Add メソッドでは、引数を使用して追加したシートを指定したシートの前、あるいは後ろに挿入するか決定します。また、引数 Count で追加するシート枚数が指定できます。

引数のシートを指定するときは Before や After、Count の後に := をつけて指定します。After や Before は省略可能で、省略した場合はアクティブシートの前に追加されます。Count を省略した場合は、1つだけシートが追加されます。

以下は、Sheet1 の後ろにシートを2枚追加する例です。

追加されたシートは Sheet4, Sheet5 というような名前が自動的に付けられます。

vba_add

シートを先頭に追加する

以下は、新しいシートを先頭の位置に追加する例です。

引数の Before に1番目のシートを指定することで、先頭の位置にシートを追加することができます。

vba_add6

シートを末尾に追加する

以下は、シートを末尾の位置に追加する例です。

まず、Worksheets.Count を使用して末尾のシートのインデックス番号を取得しています。そのインデックス番号を利用してシートを取得し、 After の引数に指定することによって末尾の位置にシートを追加しています。

vba_add2

シートに名前を指定して追加する

以下は、シートに名前を付けて追加する例です。この例では追加したシートに「売上データ」と名付けています。

シートを追加すると新しく追加されたシートがアクティブになるので、ActiveSheet.Name で名前を変更してます。上のプログラムを実行すると、「売上データ」という名前のシートが追加されます。

vba_add5

追加シートをアクティブにしない

シートを追加すると自動的に、追加されたシートがアクティブになってしまいます。以下は、シートを追加したときに追加されたシートがアクティブにならないようにする例です。

まず ActivateSheet で現在アクティブなシートを取得し、シートを追加した後に Activate でアクティブだったシートをアクティブにし直しています。

vba_add4

この例は、Sheet1 がアクティブな状態でシートを追加しています。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて