訪問して頂きありがとうございます。まさふくろーです。
この記事では使用例を使って、ブックをアクティブにする方法をご紹介します。
使用例
「請求書へ反映」ボタンをクリック 「請求書テンプレート.xlsx」を起動
書式
Workbookオブジェクトで指定したブックをアクティブにする。
Workbookオブジェクト.Activate
請求書のテンプレートを用意
ボタンの作成
「開発」タブの確認
ボタンの作成
①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。
シート上にカーソルを移動し、ポインターを「+」の状態にします。
左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。
「マクロの登録」画面が表示されます。
①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。
ボタンの名前を変更する
エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。
右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。
ボタンの名前を変更します。
サンプルプログラム
VBAコードの入力
VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Sub 請求書へ反映() Dim LoopCnt As Long Dim Kataban As String Dim SyohinName As String Dim Tanka As String Dim Suryo As String Workbooks.Open "C:\請求書\請求書テンプレート.xlsx" ThisWorkbook.Activate For LoopCnt = 3 To Cells(Rows.Count, 1).End(xlUp).Row ThisWorkbook.Activate Kataban = Cells(LoopCnt, 1) SyohinName = Cells(LoopCnt, 2) Tanka = Cells(LoopCnt, 3) Suryo = Cells(LoopCnt, 4) Workbooks("請求書テンプレート.xlsx").Activate Cells(LoopCnt + 7, 1) = Kataban Cells(LoopCnt + 7, 2) = SyohinName Cells(LoopCnt + 7, 3) = Tanka Cells(LoopCnt + 7, 4) = Suryo Next End Sub |
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)」を選択⇒③「保存」ボタンをクリックします。
最後まで読んでいただき、ありがとうございました!
本のまとめ記事はこちら