Excelで特定のセルに文字を入力すると、他のセルに自動で数字を入力するマクロは、業務効率化に非常に便利です。マクロ記録だけではうまく行かない場合もありますが、VBAを使えば柔軟に対応可能です。
マクロとは何か
マクロは、Excelの操作を自動化するためのプログラムです。VBA(Visual Basic for Applications)という言語で書くことで、複雑な条件や操作も自動で実行できます。
例えば、ある行に「A」と入力したら別の行に「100」を自動で入力する、といった処理も可能です。
Worksheet_Changeイベントの活用
特定セルの変更に応じて自動処理を行うには、Worksheet_Changeイベントを使います。このイベントはセルの内容が変更されたときに自動で発動します。
例えば、セルA1に「A」と入力されたとき、セルB1に「100」を入れるコード例は以下の通りです。
Private Sub Worksheet_Change(ByVal Target As Range)If Not Intersect(Target, Me.Range("A1")) Is Nothing Then Application.EnableEvents = False If Target.Value = "A" Then Me.Range("B1").Value = 100 Else Me.Range("B1").ClearContents End If Application.EnableEvents = TrueEnd IfEnd Sub
複数セルへの応用
複数の行や列に同様の処理を適用することも可能です。Target範囲を拡張して条件分岐を行うことで、より多くのセルを自動化できます。
例えば、列A全体に入力された文字に応じて、列Bに対応する数字を自動で入れることができます。
マクロ記録との違いと注意点
マクロ記録は簡単に操作を記録できますが、条件付きの処理や自動反応には向きません。VBAコードを直接編集することで、より複雑で効率的な自動化が可能です。
また、マクロ実行中のイベント制御(Application.EnableEvents)を適切に管理しないと、無限ループやエラーが発生することがあります。
まとめ
Excelマクロを使えば、特定の文字入力に応じて他のセルに数字を自動入力することが可能です。Worksheet_Changeイベントを活用し、VBAで条件分岐や範囲指定を行うことで、自分の作業に合わせた柔軟な自動化が実現できます。
マクロ記録だけでうまく行かない場合は、VBAを少し学ぶことでより便利な操作を作れるようになります。


コメント