Excel VBAの使い方/マクロ・VBA

エクセルでシート作成するマクロ(ワークシート追加)(3ページ目)

エクセルでシート作成、マクロを読解・編集・加工していく過程を実践的に紹介しています。マクロを読み解いて編集する演習シリーズ。この記事では、シートを作成するマクロを作成します。ぜひご覧下さい!

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

 

ワークシートの数を入力する準備

Excelの画面を表示して、ワークシートの数を入力する欄を準備します。ここでは、下図のように、セルA5を入力欄にします。


VBEの画面に戻り、入力されたワークシート数の数値を保存するための変数を宣言します。ここでは、整数を保存するInteger型の変数「SheetAddCount」を宣言します。そして、この変数に、セルA5の値を代入(保存)するステートメントを記述します。
※変数やその宣言方法については、前回の記事「ブックを作成するマクロを作成しよう」をご覧下さい。
 

実際に追加するワークシートの数に注意

ここで、ひとつ注意点があります。ブックを作成すると、既に3つのワークシートが含まれていますね。したがって、セルA5に入力された数値から3を減算した数値が、実際に追加するワークシートの数になります。そして、その数値を引数Countに設定する内容を追記します。
 

ブックを作成するマクロに移動する

作成したマクロを、ブックを作成するマクロに移動して、ひとつのプロシージャにまとめます。移動先は、「Module1」に作成されているマクロ「Macro1」です。マクロに記述されているステートメントは上から順番に実行されていくので、ひとまず、新しいブックを作成するステートメントの直後に移動しておきます。


そして、変数を宣言するステートメントを冒頭にまとめます。また、ワークシート数を変数「SheetAddCount」に代入するステートメントは、新しいブックを作成するステートメントの前に移動します。新しいブックが作成された後だと、「Range("A5").Value」は、新しいブック上のセルA5の値を参照してしまうからです。
※変数を宣言するステートメントを冒頭にまとめると読みやすくなります。しかし、たくさんの変数を宣言するマクロでは、変数を使用する直前に宣言した方が読みやすい場合もあります(冒頭から無駄にメモリを占有することを避ける効果もあります)。


これで、次のような流れのマクロが作成されました。
 

実行してみよう

早速、実行してみましょう。セルA2にブック名を入力し(ここでは「売上データ」と入力)、セルA5にワークシートの数を入力して(ここでは「5」と入力)、「作成」ボタンをクリックします。


5つのワークシートをもつブック「売上データ」が作成されました。


しかし、今回のマクロのままでは、ワークシートの数に3以下の数値を指定すると、エラーが発生します。「エクセルでシート作成するマクロ(If文の活用)」では、この問題を解決しながら、その他のワークシートのメソッドを紹介したり、VBAの制御構文などを解説しています。
【編集部おすすめの購入サイト】
Amazonで Excel 関連の商品をチェック!楽天市場で Excel 関連の商品をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます