こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!
突然ですが、質問です。
Excelで報告書や資料を作っている時、セルの幅に合わせて文字をピッタリ「均等割り付け」する作業、手でポチポチやっていませんか?
この記事は、そんな「Excelの地味で面倒な繰り返し作業に、うんざりしている…」という人におすすめです。
VBAで均等割り付けを自動化する5つのSTEP
「たかが均等割り付け」と侮ってはいけません。
仮に、1回の均等割り付けに10秒かかるとしましょう。1日に30回この作業をすると、
- 10秒 × 30回 = 300秒(5分)
毎日5分のロスです。これが1ヶ月(20日勤務)続くと、
- 5分 × 20日 = 100分(約1.7時間)
そして、1年間では…
- 100分 × 12ヶ月 = 1200分(20時間)
なんと、年間で約20時間も、この地味な作業に時間を奪われている計算になります。時給1,500円で働く方なら、年間3万円分の時間を失っているのと同じことです。
その時間があれば、もっと大事な企画を考えたり、新しいスキルを学んだり、あるいは定時で帰って好きなことに時間を使ったりできますよね。
今日から、その無駄な時間をゼロにしましょう。VBAマクロで自動化するステップバイステップガイド
「VBA?プログラミング?難しそう…」と感じた人も安心してください。
大丈夫です。今回はコピペするだけで、誰でも今日から使える方法をステップバイステップで解説します。
STEP 0:準備(開発タブを表示する)
まずはVBAを使うための準備です。Excelのタブに「開発」という項目がない方は、以下の手順で表示させてください。
(既にある方はSTEP 1へどうぞ!)
- 「ファイル」タブ → 「その他」 → 「オプション」 をクリック
- 「リボンのユーザー設定」 をクリック
- 右側の「メインタブ」の一覧から「開発」にチェックを入れる
- 「OK」をクリック
これで準備完了です!
STEP 1:サンプルデータで試してみよう
まずは練習です。以下のような簡単な表をExcelシートに作ってみてください。
商品名 | 型番 | 備考 |
モニター | DIS-24 | 24インチ |
キーボード | KEY-108 | 日本語配列 |
マウス | MOU-03 | ワイヤレス |
この「商品名」「型番」「備考」という見出し部分(A1:C1)を、後で一気に均等割り付けしてみましょう。
STEP 2:VBAを書く画面を開く
Altキー と F11キー を同時に押してみてください。
すると、Excelとは別の「Microsoft Visual Basic for Applications」という画面(VBEと呼びます)が立ち上がります。これがVBAを記述する場所です。
STEP 3:コードを貼り付ける場所を用意する
- VBEのメニューバーから「挿入」→「標準モジュール」をクリックします。
- 画面右側に白い大きな入力スペースが表示されます。ここに魔法の呪文(コード)を書いていきます。
STEP 4:コピペでOK!VBAコード
下のコードを、先ほどの白い画面にそのままコピーして貼り付けてください。
Sub 選択範囲を均等割り付け()
' --- 選択したセルの文字を均等割り付け(インデントなし)にするマクロ ---
' もし何も選択されていなかったら処理を中断
If Selection Is Nothing Then
MsgBox "セルを選択してから実行してください。"
Exit Sub
End If
' 選択範囲の各セルに対して処理を実行
With Selection
.HorizontalAlignment = xlDistributed ' 水平方向の配置を「均等割り付け」に設定
.VerticalAlignment = xlCenter ' 垂直方向の配置を「中央揃え」に設定
.IndentLevel = 0 ' インデントを0に設定
End With
MsgBox "選択範囲の均等割り付けが完了しました!"
End Sub
STEP 5:マクロを実行してみよう!
- Excelの画面に戻ります。
- 先ほど作ったサンプル表の見出し部分(A1セルからC1セルまで)をドラッグして選択します。
- Altキー と F8キー を同時に押します。
- マクロの一覧が表示されるので、「選択範囲を均等割り付け」を選んで「実行」ボタンをクリックします。
どうでしょうか?
一瞬で、選択した3つのセルの文字が、綺麗に均等割り付けされたはずです!
コメント