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文の活用)」では、ワークシートに名前を設定する形に修正して、作成してきたサンプルを完成させます。