マクロ記録で基本となるマクロを作成
今回も、マクロ記録を使って基本となるコードを作成します。なお、今回はファイルの保存作業があるため、Cドライブ直下に“納品書”フォルダをあらかじめ作成しておいてください。
- [ツール]メニューの[マクロ]から[新しいマクロの記録]を選択し、[マクロの記録]ダイアログボックスを表示する。
▼ 図02-01 [マクロの記録]ダイアログボックスを表示
【Excel2007の場合】
Excel2007ではメニューバーでなく、リボンを使用します。[マクロの記録]ボタンは[開発]タブ内に用意されています。
※ [開発]タブは既定では表示されていません。[開発]タブの表示方法はこちら▼ 図02-02 Excel2007での[マクロの記録]ダイアログボックスの表示▼ 図02-03 Excel2007での[マクロの記録]ダイアログボックスの表示(2) - [マクロ名]ボックスに「SaveNouhin」と入力する。
- [説明]ボックスに「納品書をエクセルファイルとして保存する」と入力する。
- [OK]ボタンをクリックし、マクロの記録を開始する。
▼ 図02-04 [マクロの記録]ダイアログボックス
個数が入力されている商品を抽出する操作を記録
マクロ記録が開始されたので、個数が入力されている商品を抽出します。
- セルD14の[オートフィルタ矢印]ボタンから[(空白以外のセル)]を選択する。
▼ 図02-05 個数が入力済みの商品を抽出
【Excel2007の場合】
Excel2007では、[(空白セル)]チェックボックスをオフにすると空白以外のデータが抽出されます。
▼ 図02-06 個数が入力済みの商品を抽出(2)
抽出したデータをコピーして貼り付け
個数の入力されたセルのみが抽出されたら、“納品書”シートにコピーして別ブックとして保存します。
- 列Aから列Eを列単位で選択する。
- [標準]ツールバーの[コピー]ボタンをクリックする。
※ Excel2007の場合は、[ホーム]タブ内の[コピー]ボタンをクリックする。▼ 図02-07 データのコピー - コピー先の“納品書”シートに切り替える。
- セルA1が選択されていることを確認し、[標準]ツールバーの[貼り付け]ボタンをクリックする。
※ Excel2007の場合は、[ホーム]タブ内の[貼り付け]ボタンをクリックする。▼ 図02-08 データの貼り付け - “納品書”シートのシート見出しを右クリックし、[移動またはコピー]を選択する。
▼ 図02-09 シートのコピー
- [移動先ブック名]ボックスから[(新しいブック)]を選択する。
- [コピーを作成する]チェックボックスをオンにし、[OK]ボタンをクリックする。
▼ 図02-10 [シートの移動またはコピー]ダイアログボックス
- [ファイル]メニューから[名前を付けて保存]を選択する。
※ Excel 2007の場合は、[Office]ボタンから[名前を付けて保存]を選択します。▼ 図02-11 名前を付けて保存 - [保存先]にCドライブに作成しておいた“納品書”フォルダを指定する。
- [ファイル名]に「2009年12月8日」と入力する。
※ ファイル名は自動で付けられるよう変更しますが、マクロ記録のため日付をつけておきます。 - [保存]ボタンをクリックする。
▼ 図02-12 [名前を付けて保存]ダイアログボックス
- 保存できたらファイルを閉じて“納品書.xls”ファイルに戻ったら、最初の状態に戻すため[編集]メニューの[クリア]から[すべて]を選択する。
※ Excel 2007の場合は、[ホーム]タブの[編集]内、[クリア]ボタンから[すべてクリア]を選択します。▼ 図02-13 コピーしたデータをクリア - [納品書_元データ]シートに切り替え、セルD14の[オートフィルタ矢印]ボタンから[(すべて)]を選択する。
※ Excel 2007では、[(空白セル)]チェックボックスをオンにします。▼ 図02-14 抽出状態を解除 - セルA1をアクティブセルにし、[記録終了]ボタンをクリックする。
▼ 図02-15 マクロの記録終了
【Excel2007の場合】
Excel2007では[記録終了]ツールバーは表示されません。ステータスバーの[記録終了]ボタンを使用します。
※ [開発]タブが表示されている場合は、[開発]タブ内の[記録終了]ボタンを使用しても構いません。▼ 図02-16 Excel2007での記録終了
これでマクロの記録は完了しました。
このままでは保存するファイル名は「2009年12月8日.xls」のままなので、VBエディタを使ってファイル名を自動的に作成する処理に修正してみましょう。