はじめに
エクセルでの業務を行っている際にセルに着色をしてチェックや照合を行ったことはありませんか?
セルへの着色はリボンから行うとマウスの移動、ボタンを押下のステップを踏まねばならず、数セルならまだしも多くのセルに複数の色をつけたい時などは非常に手間と時間がかかります。
そこで私はエクセルマクロを個人用マクロブックに作成し、ショートカットボタンに登録することで業務を効率化しています。
この記事ではコードでできる業務効率化について説明し、エクセルマクロVBAコードを公開します。
当記事のセルに色付けマクロでできる業務効率化
当記事で紹介するセルに色付けマクロの機能は選択中のセルに黄色→緑色→赤色→水色→無色の順番で色を付けます。
ショートカットキー押下1回で黄色、2回で緑色にセルの色が変化します。
ワークシートに保護がかかっている場合にはメッセージを表示して処理を中断します。
ショートカットキーについては以下のサイトが分かりやすかったので参考にしてください。
(Officeの魔法使い サトウヨシヒロ様の記事からリンクを頂いています。ありがとうございます。)
【外部リンク(敬称略)】個人用マクロブックにマクロを追加・ショートカットキーを登録する方法
エクセルに個人用マクロブックを作成し、コードを貼付け、ショートカットキーを登録するまでの流れが1記事で分かります。
【外部リンク(敬称略)】個人用マクロブック作成方法
エクセルに個人用マクロブックを作成する手順が分かります。
【外部リンク(敬称略)】マクロをショートカットキーに登録する方法
個人用マクロブックに作成したマクロをショートカットキーに登録する方法が分かります。
非常にシンプルなプログラムですが、私の業務では未払費用の期末残高の明細を探る業務、定形外業務にかかった原価と収入を照合する業務や表にちょっとした色を付けたい場面などで役立っています。
エクセルマクロVBAのコード
Sub セルに色を付けるマクロ()
If ActiveSheet.ProtectContents = True Then
MsgBox "シートに保護がかかっている"
Exit Sub
End If
With Selection.Interior
Select Case .Color
Case vbCyan '青のセルのとき
.Color = xlNone '色をなくす
Case vbRed '赤のセルのとき
.Color = vbCyan '青にする
Case vbGreen '緑 '緑のセルのとき
.Color = vbRed '赤にする
Case vbYellow '黄色のセルのとき
.Color = vbGreen '緑にする
Case Else '4色どの色でもないセルのとき
.Color = vbYellow '黄色にする
End Select
End With
End Sub
VBAコードの添削をして頂きました①
TwitterにてVBAコードを添削して頂きました!
左側が添削前、右側が添削後のコードとなります。
日々精進して参ります。本当にありがとうございました!
VBAコードの添削をして頂きました②
Twitterにて更にVBAコードを添削して頂きました!
左側が添削前、右側が添削後のコードとなります。
Colorindexプロパティはバージョンによってデフォルト値が違うという点、パレットをユーザーが任意の設定に変更できるという点から意図しない色が設定されてしまう可能性があるため、Colorプロパティを使うことが望ましいと教えて頂きました。
また、ColorプロパティにはvbRed(=赤色)などの組込み定数が用意されているため、自分で定数宣言することなく設定色の可読性のあるコードを書くことができます。
また、Select CaseのCaseごとの処理を1行にまとめる方法や、ループする色を配列に格納して循環させる方法など役立つ助言を頂きましたが、筆者の技量を大きく上回るため本記事のコードには反映させられていません。
加えてシートがWorksheetであること、Selectionがセルであることをチェックすることでエラーを回避する方法についても教わりました。いずれ記事で取り上げたいと考えています。
さいごに
私が書けるマクロは熟練者の型に比べると拙いクオリティのものです。
しかし、逆に初学者の方にも読んでもらえるコードなのではないかと考えています。
自分のレベルとかけ離れたコードはカスタマイズすらできない、そんな経験を何度もしました。
未熟な者が情報を発信すれば質の低い情報が増え情報の泉が汚れるといった考えもあるかと思います。
質の低い情報は淘汰されるべきですし、当然に淘汰されると考えています。
いずれ淘汰されると思いながらも発信することは恐ろしいことですが、私にとって挑戦であり実験です。
このような記事を最後までお読み頂けたことを心より感謝致します。
他にもエクセルVBAに関する記事を投稿しています。
よろしければご覧下さい。
コメント
[…] ご紹介いただきました。 あかアカ |個人用マクロブック 選択セルに循環する色を設定するマクロ ショートカット用VBAコードを公開します […]
[…] 【内部リンク】エクセルVBA記事 セルの色をショートカットキー操作で次々に変更するVBAコード記事 […]
[…] 【内部リンク】ショートカットに設定すると便利なセルに循環する色を付けるVBAコード […]