Excelのマクロを利用して、特定のシート上のセルをクリックするだけでチェックマークを入力することができる。
こうした操作を実現していきたいと思います。
文字を手で打つ必要がなくなるため、作業の手間を省くことができると思います。
それでは始めていきます。
開発タブから、Visual Basicを開きます。
画面左には現在編集をしているシートが表示されています。
こちらはシートモデュールといい、特定のシートに紐づいたコードを書く場所です。
ダブルクリックしWorksheetにマクロを記述します。
詳細は動画で確認できます。
選択セルの変化を検知するイベントハンドラの定義
Worksheet_SelectionChangeは、シート専用のイベントマクロです。
今回は、シート上でA列をクリックするとチェックマークが自動的に表示されるという処理を記述します。
条件として次の場合は、処理をスキップするようにします。
Target.Column<>1
選択されたセルの列がA列(列番号1)ではない。
Target.Cells.CountLarge>1
複数のセルを同時に選択している。
いずれかに該当する場合は、Exit Subでマクロを終了します。
=は、等しいという演算子。
< >は、等しくないという演算子です。
変数の定義・文字の格納
Dim checkChar As String
checkChar="レ"
Dimによって、変数checkCharを定義しています。データの型は文字列、変数checkCharには、レが格納されます。
マクロの実行
With Target
If .Value=checkChar Then
.ClearContents
Else
.Value = checkChar
.Font.Name = "MS UI Gothic"
.Font.Size = 12
End If
End With
こちらは選択したセル(Target)に対して、一連の処理を行うブロックです。
セルの値がチェックマークと一致していれば、セルの値を消去。
一致していなければ、チェックマークをセルに入力し、フォントや、文字サイズも整えています。
以上がマクロの概要となります。
ここで一度データを保存しておきます。
保存をクリックすると、ダイアログが表示されます。
マクロを有効にするためには、.xlsmの拡張子で保存する必要があります。
戻るをクリックし、ファイルの種類から.xlsmを選んで保存します。
ここまできた段階で、実際にマクロを実行してみます。
今回は作業をしているシートに対して記述したマクロですので、A列をクリックするとチェックマークが自動的につくはずです。
実際にA列のセルをクリックしてみます。
そうすると、チェックマークが表示されることが分かると思います。
またチェックマークを付けたセルをクリックすると、値がクリアされることも機能していることが分かると思います。
以上がマクロを利用して、チェックマークの表示、非表示を自動化する方法の解説でした。
一手間かかる作業も簡単にできるイメージが湧いてくるのではないかと思います。
変数、イベントハンドラについてはプログラミングの最初の段階で習う内容です。
副業の検討もされる際は以下も参考にご覧ください。