スポンサーリンク
会計システムなどから出力したばかりのExcelファイルのシートは、こんな感じの無造作な状態になっている。
こういう表に対しオートフィルタを掛けたりという整形作業を、毎回手作業でやっている人も多いと思うが、機械的な定形作業なのでボタン一発のマクロに登録しておいた方が良いと思う。
そこで私は、下記のようなマクロを作成し、個人用マクロブックに組み込んで毎回使っている。
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 |
Option Explicit Sub adjustNormalFormat() '一般的と思われるフォーマットの表に整形する Dim ws As Worksheet: Set ws = ActiveSheet Application.ScreenUpdating = False '描画省略 '全体的なセルの設定 With ws.Cells .RowHeight = 20 '高さを高めに .VerticalAlignment = xlCenter '上下中央揃え End With '1行目=タイトル行の設定 With ws.Rows(1) .HorizontalAlignment = xlCenter '左右中央揃え .RowHeight = 26 'タイトル行だけはより高さを高く .WrapText = True '折返し表示 .AutoFilter 'オートフィルタをかける End With 'タイトル行の背景色を黄色に Range(ws.Cells(1, 1), ws.Cells(1, Columns.Count).End(xlToLeft)).Interior.Color = 65535 '1行目でウインドウ枠を固定 ws.Rows(2).Select ActiveWindow.FreezePanes = True ws.Cells(1, 1).Select Application.ScreenUpdating = True '描画再開 End Sub |
このマクロを実行すると、ソースコードのコメントに書いてあるとおり、下記のように簡易的に整形が加わった表のフォーマットになる。
特に大したコードは入れていないので詳説はしないが、そういうシンプルなコードだけでも、毎回やってる定形作業の量を減らし時間削減できるだろうということだ。
このマクロは、タイトル行がExcelシートの1行目にあることが前提で作っている。
また、列幅の自動調整処理は入れていない。列幅は狭いままでも、各列に対し、折返し表示や縮小表示の設定を適宜入れれば良いと考えるからだ。
スポンサーリンク