【EXCEL VBA】ブックをアクティブにする方法(一覧表から請求書へデータを反映)

訪問して頂きありがとうございます。まさふくろーです。

この記事では使用例を使って、ブックをアクティブにする方法をご紹介します。

使用例

  1. 「請求書へ反映」ボタンをクリック

  2. 「請求書テンプレート.xlsx」を起動

  3. 「注文一覧」のデータを「請求書」に反映

書式

Workbookオブジェクトで指定したブックをアクティブにする。

Workbookオブジェクト.Activate

請求書のテンプレートを用意

請求書のフォーマットは、以下のように作成します。

 

 

以下ボタンで「請求書のテンプレート」をダウンロードすることも可能です。

請求書のテンプレートをダウンロード

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 繰り返し処理用の変数を宣言
4 「注文一覧」の「型番」取得用の変数を宣言
5 「注文一覧」の「商品名」取得用の変数を宣言
6 「注文一覧」の「単価」取得用の変数を宣言
7 「注文一覧」の「数量」取得用の変数を宣言
9 「請求書テンプレート.xlsx」を起動する
11 マクロを実行しているブックをアクティブにする
13 「注文一覧」のデータ行数分、以下処理を繰り返す
17 「注文一覧」の「型番」の値を取得し、変数に格納
18 「注文一覧」の「商品名」の値を取得し、変数に格納  
19 「注文一覧」の「単価」の値を取得し、変数に格納  
20 「注文一覧」の「数量」の値を取得し、変数に格納  
22 「請求書テンプレート.xlsx」をアクティブにする
24 「請求書」の「型番」に17行目で取得した値を設定する
25 「請求書」の「商品」に18行目で取得した値を設定する  
26 「請求書」の「単価」に19行目で取得した値を設定する  
27 「請求書」の「数量」に20行目で取得した値を設定する  

VBAコードの保存

「ファイル」タブをクリックします。

 

 

「名前を付けて保存」を選択し、ファイル保存画面を起動します。

 

 

①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。

 

最後まで読んでいただき、ありがとうございました!