社会人として働いていて、一度はこんなこと言われたことないでか?
どーも Takeです。
わたしはすごい適当な性格なので、このへんよく忘れてしまいます。新人のときは良く怒られました。。。
最初は手で直していたんですが、そのうちめんどくさくなってマクロ化しました!!!
今回はそのマクロを作る方法について超簡単にご紹介します!!
マクロの作り方
マクロの作り方は超簡単です。
「開発タブ」→ 「Visual Studio」からエディタを開きます。
※ 開発タブが表示されていない場合は「ファイル」→「オプション」→「リボンのユーザ設定」で開発をチェックいれればOKです!
それで下記を貼り付けます。
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
Sub シートを整える() Dim ws As Worksheet Dim firstWs As Worksheet Dim firstFlag On Error Resume Next Application.ScreenUpdating = False firstFlag = False For Each s In Worksheets Dim nowSheet As Worksheet Set nowSheet = Worksheets(s.Name) ' 最初のシート情報を控えておく If firstFlag = False Then Set firstWs = nowSheet firstFlag = True End If nowSheet.Activate ' 横スクロールを一番左 ActiveWindow.ScrollColumn = 1 ' 縦スクロールを一番上 ActiveWindow.ScrollRow = 1 ' 拡大率100% ActiveWindow.Zoom = 100 ' A1セルを選択 nowSheet.Range("A1").Select Next ' 最初のシートを選択 firstWs.Select Application.ScreenUpdating = True End Sub |
貼ったら Excel を保存します。
注意点ですが、ファイル拡張子を「xlam」にします(これがのちのち役立ってきます!!)。
ファイル名はなんでもOKです。
これでOKです。
すると保存したのに「.xlam」ファイルが表示されねえーーーってなりませんか?
「.xlam」ファイルはExcelの仕様で表示されません(なんでかは知りません。。)。
ですが、裏では開かれていることになっています。
この状態でExcel の左上の矢印を押下して「その他のコマンド」をクリックします。
それで下記のような画面が出るので、
コマンドの選択欄を「マクロ」にして→ さっき作ったマクロ「シートを整える」を追加→OKボタンを押下します。
あとは以下のようにボタンが表示されればOKです。
これでどんなExcelブックを開いてもいつでも「A1セル選択、拡大率100%、スクロールを一番左上」ができます!!
このマクロについて
このマクロがどういう風に動いているかザックリ説明します。
- まずExcel ブックにある全シート情報を取得しそれでループ処理をします。
- その際に一番最初のシート情報を控えておきます。
- シートに対して下記を実行します。
- ActiveWindow.ScrollColumn = 1 ・・・横(列)の位置を左
- ActiveWindow.ScrollRow = 1 ・・・縦(行)の位置を先頭
- ActiveWindow.Zoom = 100 ・・・拡大率100%
- nowSheet.Range("A1").Select ・・・ A1セル選択
最後に一番前のシートにもどりますが、一番前のシートが非表示の場合は戻らないのでご注意ください。
最後に
いかがでしたでしょうか?
これのマクロさえあれば、Excelファイルの提出前のめんどくさい作業もなくなると思います。
ではでは。