目次:
ビデオ: マクロを使わず、リストからシートを一気に作成する方法【エクセル使い方基本講座】 2024
自動化された方法でExcelブックを作成する必要がある場合や、作成する必要がある場合があります。たとえば、テーブルからデータをコピーして、新しく作成したブックに貼り付ける必要があります。次のマクロは、アクティブなシートからセルの範囲をコピーし、新しいブックにデータを貼り付けます。
マクロの仕組み
コードの行を読むときにわかるように、このマクロは比較的直感的です。
<! - 1 - >Sub Macro1() 'ステップ1データシートをコピーします(「例1」)。範囲(「B4:C15」)。コピー '手順2新しいワークブックのワークブックを作成します。追加 'ステップ3データActiveSheetを貼り付けます。貼り付け先:=範囲( "A1") 'アプリケーション警告をオフにするアプリケーション。 DisplayAlerts = False '手順5新しく作成したブックActiveWorkbookを保存します。 SaveAs _ Filename:= "C:TempMyNewBook。xlsx" 'ステップ6アプリケーションのアプリケーションアラートをアプリケーションに戻します。 DisplayAlerts = True End Sub
ステップ1では、セルB4からC15の範囲のデータを単純にコピーします。シートと範囲の両方を名前で指定することに注意してください。このアプローチは、複数の開いているブックで作業する場合のベストプラクティスです。
<! - 2 - >ステップ2では、ワークブックオブジェクトのAddメソッドを使用してワークブックを作成します。空白のブックは、Excelのリボンで[ファイル] - [新規] - [空白のドキュメント]を手動で選択するのと同じです。
手順3では、貼り付け方法を使用して、コピーしたデータを新しいブックのA1セルに送信します。
コードがActiveSheetオブジェクトを参照しているという事実に注意してください。ブックを追加すると、新しいブックは直ちにフォーカスを取得し、アクティブブックになります。 (Excelは手動でブックを追加するときも同じです)。
<! - 3 - >コードのステップ4では、DisplayAlertsメソッドをFalseに設定し、Excelの警告を効果的にオフにします。これは、コードの次のステップで新しく作成したブックを保存するためです。このマクロを複数回実行すると、Excelはファイルを複数回保存しようとします。
ブックを複数回保存しようとするとどうなりますか?それは間違いありません - Excelはあなたに既にその名前のファイルがあることを警告し、以前に存在するファイルを上書きするかどうか尋ねます。ワークブックの作成を自動化することを目標としているため、その警告を抑制したいと考えています。
手順5では、SaveAsメソッドを使用してファイルを保存します。最終的なファイル名を含め、保存場所の絶対パスを入力することに注意してください。
手順4でアプリケーションを無効にしたので、再度有効にする必要があります(手順6を参照)。そうしないと、Excelは現在のセッション中にすべての警告を抑制し続けます。
マクロの使用方法
このマクロを実装するには、標準モジュールにコピーして貼り付けます。
-
Alt + F11を押してVisual Basic Editorをアクティブにします。
-
プロジェクトウィンドウでプロジェクト/ワークブック名を右クリックします。
-
[挿入]→[モジュール]を選択します。
-
新しく作成したモジュールにコードを入力するか貼り付けます。
おそらく、シート名、範囲アドレス、および保存場所を変更する必要があります。