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

エクセルでシート作成するマクロ(If文の活用)(3ページ目)

マクロを読み解いて編集する演習シリーズ。シートを作成するマクロに修正を加えながら、ワークシートの主要メソッドとVBAの基本構文を学習します。本格的なプログラムが簡単に作成できることが実感できます!

緑川 吉行

執筆者:緑川 吉行

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


Ifステートメントを完成させる

まず、SheetAddCountが「-1」の場合にワークシート「Sheet3」を削除したいので、「Sheets("Sheet3").Delete」を「If SheetAddCount = -1 Then」の後にコピー&ペーストします。SheetAddCountが「-2」の場合は、ワークシート「Sheet3」と「Sheet2」を削除したいので、「Sheets("Sheet3").Delete」を「If SheetAddCount = -2 Then」の後に2つコピー&ペーストして、一方の引数を「Sheet2」に修正します。これでIfステートメントの完成です。
※コピー&ペーストした後は、マクロ記録用に開いていたブックを閉じておきましょう。その後、使うことはないので、保存しないで閉じてください。


メッセージを非表示にしよう

ワークシートを削除するときに、注意メッセージが表示されました。こういった注意メッセージや警告メッセージを非表示にするには、Excelを表すApplicationオブジェクトの「DisplayAlerts」プロパティに「False」を設定するステートメント「Application.DisplayAlerts = False」を記述します。このステートメントに「True」を設定するまでの間、注意メッセージや警告メッセージが非表示なります。ここでは、これらのステートメントを次のように記述します。
※DisplayAlertsプロパティにFalseを設定するステートメントの記述場所は、メッセージを非表示にしたいタイミングの前であればどこでも問題ありません。
※重要なメッセージが表示される可能性がある場合は、非表示にしたい部分にピンポイントで設定した方が安全です。その場合は、非表示に設定したい部分をDisplayAlertsのステートメントで挟み込むようなイメージで、「Application.DisplayAlerts = False」と「Application.DisplayAlerts = True」を記述します。


実行してみよう

ここまでの状態で、作成したマクロを実行してみましょう。ワークシート数を「2」としてマクロを実行すると、ワークシート「Sheet1」「Sheet2」だけのブックが作成されます。


ワークシート数を「1」としてマクロを実行すると、ワークシート「Sheet1」だけのブックが作成されます。


なお、既に作成したブック名を指定した場合、次のようなメッセージが表示されます。既存のブックを作成したブックに置き換える場合は「はい」をクリックします。
※「Application.DisplayAlerts = True」のステートメントを、SaveAsメソッドのステートメントの後に記述すると、上図のメッセージも非表示にすることができます。しかし、上図のとおり、作成したブックを上書き保存してしまうため、ここでは、あえて、メッセージを表示するように、SaveAsメソッドのステートメントの前に記述しています。


また、入力規則を利用して、セルA5に「0より大きい整数値」のみ入力できるようにしておくと、さらにエラーが発生しない形になります。入力規則については「セルに入力するデータを制限しよう」や「入力規則のメッセージをカスタマイズしよう」の記事をご参考ください。


次の記事となる「エクセルでシート作成するマクロ(For文の活用)」では、ワークシートに名前を設定する形に修正して、作成してきたサンプルを完成させます。
【編集部おすすめの購入サイト】
楽天市場で Excel 関連の商品を見るAmazon で Excel 関連の商品を見る
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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