見出し画像

コピペで簡単に業務効率化!選択しているセルが一目で分かる方法【Excel VBA】

情報量の多いExcelファイルを眺めている時に『あれ、今どこの行を見ていたんだっけ?』と思ってしまうことはありませんか?

そんな悩みを解決するべく、選択している行や列を太字にしたり、背景の色を変えたりとさまざまな書式で強調表示する方法について紹介していきたいと思います。

行ハイライト

『プログラミングって難しそう』って方もコピー&ペーストするだけで簡単に業務効率がアップするので、ぜひお仕事などで試してみてください。同僚の方に見せたら驚かれること間違いなしです。

⚠️例として使用しているExcelファイルは、私が丹精込めて作成した架空の会社の社員名簿です。実在の人物とは一切関係ありません。

01.ファイル形式の変更【事前準備】

マクロを作成するには、マクロを組めるようにするための事前準備が必要です。ここでは、Excelファイルをマクロが使えるファイル形式に変更していきます。

1)Excelファイルを開きます。

初期画面

2)キーボードの「F12」キーを押して「名前を付けて保存」画面を開きます。(うまくいかない場合は「ファイル」タブから「名前を付けて保存」を選択してください)

お好みで「ファイル名」を変更します。変更しなくても問題ありませんが、私は分かりやすいように元のファイル名に「【マクロ】」を付け加えました。

新規保存_名前変更

3)「ファイルの種類」プルダウンをクリックして「Excel マクロ有効ブック(*.xlsm)」を選択します。

ファイルの種類変更

4)「ファイルの種類」が「Excel マクロ有効ブック(*.xlsm)」になっていることを確認したら、「保存」をクリックしてください。

新規保存完了

これでマクロが使えるファイル形式への変更が完了しました。

「コピーを保存」という警告画面が出る場合がありますが、気にせず「OK」をクリックしてください。

保存後ダイアログ

02. 開発タブの表示【事前準備】

マクロを組むには「開発」タブを表示させてプログラムを記述できるようにする必要があります。ここでは「開発」タブを表示させていきます。

1)Excelファイルを開きます。

初期画面

2)「ファイル」タブをクリックして、遷移した画面の左下にある「オプション」をクリックします。

ファイルからオプション

3)「Excelのオプション」画面が表示されるので、「リボンのユーザー設定」を選択して、「開発」チェックを入れます。チェックを入れたら「OK」をクリックします。

開発タブ表示

これでマクロを作成するための準備が整いました。

03.強調表示時の書式設定

まずは、選択している行や列をどのように強調表示するかの書式設定をしていきましょう。

1)強調表示させたい範囲を選択します。

データ範囲選択

2)範囲を選択したまま「条件付き書式」の中の「新しいルール」を選択します。

新しいルール

3)「新しい書式ルール」画面が表示されるので「数式を使用して、書式設定するセルを決定」を選択し、続いて「書式」をクリックします。

新しいルール_書式設定

4)強調表示する際の書式を決めます。
「フォント」タブ内では文字の書式を設定できます。太字や斜体にしたり、文字色を変更できるので、好きなように設定してみてください。
私は「太字」にして文字色は「白」に設定しました。

新しいルール_書式設定_フォント

5)「塗りつぶし」タブではセルの背景色を設定することができます。「色なし」または好きな色を選んだら「OK」をクリックしてください。
 私はかわいいピンク色にしたかったので、「その他の色」から選択しました。(背景がピンクで文字が白だと見えにくいのでお勧めはしません笑)

新しいルール_書式設定_塗りつぶし

6)書式設定が完了したら、強調表示したい箇所を選んで以下の該当コードをコピーしてください。

行だけを強調表示する場合】

=CELL("ROW")=ROW()
スクリーンショット 2021-09-23 23.29.26


列だけを強調表示する場合】

​=CELL("COL")=COLUMN() 
列ハイライト


行と列を強調して表示する場合】

=OR(CELL("ROW")=ROW(),CELL("COL")=COLUMN())
行列ハイライト


7)コピーしたコードを「次の数式を満たす場合に値を書式設定」に貼り付けて「OK」をクリックします。
 ⚠️画像は行のみを強調する場合の入力例です。

新しいルール_数式_ROW

選択範囲の一部が設定した書式になっている場合がありますが、気にせずに続けましょう。

条件書式設定完了

ちなみに、この方法では行が増える度に適用範囲を選択し直す必要があります。それが面倒な方は、適用範囲をあらかじめ多めに選択しておくといいかもしれません。

04.VBAでセルを選択した時の処理を設定

先ほどもちょろっとコードが出てきましたが、ここから本格的にプログラミングっぽいことをしていきます。ここでは、セルをクリックしている間だけ条件書式設定を適用させるように設定していきます。

1)キーボードの「Alt」キーと「F11」キーを同時に押して、「Microsoft Visual Basic for Applications」画面を開きます。(うまくいかない場合は「開発」タブから「Visual Basic」をクリックしてください)

VBAP_初期画面

2)強調表示設定をしたいシートをダブルクリックします。
 括弧の中にはシート名が表示されています。私はシート名を「社員一覧」にしているので、左の図では「(社員一覧)」と表示されています。変更していない場合は右図のように「(Sheet1)」と表示されます。

VBAP_Sheets選択

3)ダブルクリックすると、右側が白くなってコードが入力できるようになります。そこに以下のコードを入力します。

Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub
VBAP_条件書式設定コード入力

4)「上書き保存」アイコンをクリックしてから、右上の「×」で画面を閉じます。

VBAP_保存してバツ閉じ

これで選択している行を強調表示するマクロが完成しました。

また、次回以降このExcelファイルを開いた時に「マクロが無効になりました」という警告が出ることがあります。マクロが無効になってしまっているということなので、表示されていたら「コンテンツの有効化」をクリックしてください。

コンテンツの有効化
2021/10/06 追記
自動で条件書式を設定するマクロを公開しました!

行や列が頻繁に増減するデータを使用している方は、ぜひこちらの記事もお試しください。

こんな機能が知りたい!というコメントなどをいただけたらゆくゆく記事にしていくかもしれません☻