【Excel】ページの拡大率を100%にしてセルをA１に合わせるマクロをアドインとして組み込む方法！

## 初めに
設計書を修正した際など、全ページについて拡大率を100%にしてA1を選択した状態にする、といった儀式を行う方は多いのではないでしょうか。

今回はこの処理をアドインとしてボタン一つで実行できるようにする方法をまとめます。

> 目標: 「全シートについて拡大率100%に設定してA1を選択状態にして最初のシートに戻る」をボタン一つで実現できるように設定する


## 全体の流れ
以下の手順で設定します。

1. マクロの作成
2. アドインの作成
3. アドインの登録 

## 1. マクロの作成

目的の機能を実現するマクロをVisual Basic Editor（VBE）を利用して作成します。
まずはマクロを作成するため、空のExcelファイルを開きます。
Excelファイルを開いたら、リボンから開発のタブを選択し、「Visual Basic」を選択します。

![スクリーンショット 2023-11-23 174617.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/95dda24c-18a7-c2c2-f119-4828a417117e.jpeg)

※開発タブが表示されていない場合は、以下を参考に設定してください。

1. [ファイル] タブ→[オプション]→[リボンのユーザー設定] の順に移動
1. [リボンのユーザー設定] → [メイン タブ] の下の [開発] を追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/adc0b021-37ab-2dd7-76b7-31b7337cce0b.png)

VBEが開いたら、挿入タブから標準モジュールを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/951027c8-7771-44c6-e9f3-79df719e7625.png)

作成したモジュール(Module1)を選択し、目的の機能を実現するマクロを記述します。
今回は、「全シートについてZoomを100%に設定＆A1セルを選択した後に、最初のシートへ移動する」を実現するため以下のようなコードを作成しました。

```
Sub MoveA1andZoom100()
    'シートを定義
    Dim ws As Worksheet
    
    '全てのシートで以下をループ
    For Each ws In Worksheets
        'シートを選択
        ws.Select
        ws.Activate
        ActiveWindow.Zoom = 100
        'A1セルを選択
        ws.Range("A1").Select
    Next
    
    '最初のシートへ移動
    Sheets(1).Select
    
End Sub
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/09b00198-818c-742a-3214-b3427ec10cee.png)

※私はVBに明るくないため、上記のコードはChatGPTなどに「Excelのマクロで以下の機能を実現したいです。標準モジュールに記述するコードを作成してください。機能: 全シートについてZoomを100%に設定＆A1セルを選択した後に、最初のシートへ移動する」と伝えることで作成してくれたコードを一部利用しています。ただしChatGPTが作成してくれたコードはそのままでは上手く動作しないことが多く、今回も動作確認の上で何回か修正を行いました。動作確認の方法(マクロ実行方法)は以下に記載します。

★マクロの動作確認方法

Excelファイルに戻り、開発タブからマクロを選択。

![スクリーンショット 2023-11-23 181224.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/ccb2961c-1fca-518f-1ae0-64bde01134e6.jpeg)

マクロ名の内、今回作成したマクロを選択して実行を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/e535fe5b-277c-0da3-c177-b270e58ea95d.png)


目的の機能が実現されれば、マクロの作成は完了です。
※アドインとして登録して実行した場合に上手く動作しない場合は再度マクロを修正しましょう。

## 2.アドインの作成
次に、作成した機能を他のファイルでも実行できるようにアドインを作成します。
Excelファイルへ戻り、「ファイル」→「名前を付けて保存」から、ファイルの種類で「Excel アドイン(*.xlam)」を選択。
この時、アドインの保存場所はC:>Users>(ユーザ名)>AppData>Roaming>Microsoft>AddIns がデフォルトで指定されます。
※ファイル名は作成したマクロと合わせると分かりやすいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/c1d9883a-24c8-e0a1-bf89-4cde988cfac9.png)

※また、後にマクロを編集した際に利用できるように、開いているExcelファイルはマクロ有効ブック(.xlsm)として保存しておくのがオススメです。

以上より、C:\Users\（ユーザ名）\AppData\Roaming\Microsoft\AddIns 配下にMoveA1andZoom100.xlamというファイルが作成されていればアドインの作成は完了です。

## 3. アドインの登録 

最後に、アドインを登録します。
まずは、新規Excelファイルを開き、開発タブからEXCELアドインを選択。

![スクリーンショット 2023-11-23 183805.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/abf40a3b-62fe-ddeb-69e1-e32a95e5e017.jpeg)

今回作成したアドインにチェックし、OKをクリックして有効化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/15b5fda0-b3a5-8dfd-5978-f3e28c53b76a.png)

次に、クイックアクセスツールバーに設定をします。
下記のように、ユーザ設定を開き、「その他のコマンド」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/07a34b04-7b9a-3300-80a0-b40384c55d48.png)

「クイックアクセスツールバー」→コマンドの選択で「マクロ」を選択すると今回作成したマクロがあるので、選択して追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/b5b11091-d7c6-345c-cce6-c8cb65d202d6.png)

「変更(M)...」からお好みで分かりやすいアイコンに変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/6a256a49-a1a0-b551-7550-3044d32376a0.png)


OKを押して完了です！

クイックアクセスツールバーに追加されていることを確認しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582122/3fc0b484-7e7a-743d-e4ee-82809ef3516d.png)

✓マークを押下すればマクロが実行されます。

## まとめ

以上でクイックアクセスツールバーからボタン一つで、「全シートについて拡大率100%に設定してA1を選択状態にして最初のシートに戻る」を実行できるように設定出来ました。
業務で日々行うお作法などは、上手いこと自動化していきたいですね。
最後までお読みいただきありがとうございました。

## 参考

https://atmarkit.itmedia.co.jp/ait/articles/2009/28/news018.html

https://hamachan.info/win8/excel/addin.html

https://support.microsoft.com/ja-jp/office/-%E9%96%8B%E7%99%BA-%E3%82%BF%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B-e1192344-5e56-4d45-931b-e5fd9bea2d45#:~:text=%E6%97%A2%E5%AE%9A%E3%81%A7%E3%81%AF%20%5B%E9%96%8B%E7%99%BA%5D%20%E3%82%BF%E3%83%96%E3%81%AF,%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E3%82%AA%E3%83%B3%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82