和風スパゲティのレシピ

日本語でコーディングするExcelVBA

偶数シートなど飛び飛びのシートをループする

偶数番のシートや、3つおきのシートなど、規則性がある飛び飛びのシートをループ処理するコードを紹介します。Forステートメントの「Step」を使うのが最も基本的で、For シート番号 = 2 To 6 Step 2 という記述で2,4,6番目のシートを処理できます。

隣のシート(前のシートや次のシート)を取得する

あるシートを変数などで持っているときに、隣(前後)のシートを取得する方法を紹介します。Worksheetオブジェクトには、これを一発で取得するプロパティが用意されており「Next/Previousプロパティ」を使うことで、前後のシートを取得することができます。

指定のシートが何番目のシートか調べる

指定のシートが何番目のシートか調べる方法を解説します。例えばActiveSheetが何番目のシートかを調べるには、ActiveSheet.Indexを取得します。このIndexで求めた数値は、グラフシートなどがなければWorksheets(x)のxに入れて使うことができます。

シートを新規ブックにコピー/移動する

ワークシートを新しいブックにコピー/移動する方法を紹介します。この方法はとても簡単で、Worksheets("○○").Copy でOKです。移動する場合は、Worksheets("○○").Move になります。

シートを別のブック(の末尾)にコピー/移動する

ワークシートを別のブックにコピー/移動する方法を紹介します。コピー・移動する際は、 Worksheetの、Copy/Moveメソッドを使用し、これらのメソッドの引数「After/Before」には別のブックのシートも特に制約なく指定できます。

シートを移動する - Worksheet.Move

ワークシートを移動する「Moveメソッド」の使い方を解説します。[移動するシート].Move Before:=[ここで指定したシートの1つ前に挿入]、または[移動するシート].Move After:=[ここで指定したシートの1つ後ろに挿入]というコードを実行します。

シートをコピーする - Worksheet.Copy

ワークシートをコピーする「Copyメソッド」の使い方を解説します。[コピーするシート].Copy Before:=[ここで指定したシートの1つ前に挿入]、または[コピーするシート].Copy After:=[ここで指定したシートの1つ後ろに挿入]というコードを実行します。