隣のセルを自動編集するマクロ【作り方・導入方法をご紹介】
「A1セルにテキストを入力したらB1セルにテキストが自動入力される」
こんなマクロを設定したい!
こんな要望にお応えします。
エクセルVBAを使えば、1つのセルを編集するだけで複数のセル編集が可能になります。
「隣のセルを自動編集するマクロ」を導入することで以下のようなメリットを得ることができます。
手入力箇所の削減
入力ミスの削減
別マクロと組み合わせ可能
エクセル作業の効率を格段にアップさせることが可能です。
エクセルで手入力作業が多いという方におすすめのマクロになっています。
この記事で紹介している「隣のセルを自動編集するマクロの作り方」を参考にして頂けると、
VBA未経験の方でも簡単にマクロを設定することができるはずです。
エクセルを操作できる環境さえあれば、いつでもマクロの作成に取り組むことができるので是非挑戦してみてください。
しかし、
自分でマクロを設定している時間がない!作り方を参考にしてみたけどよくわからない!
このような方も多くいらっしゃいますよね。
そんなときは、記事の後半で紹介している「マクロの代行サービス」の利用がおすすめです。
エクセルVBAの勉強やマクロの設定といった操作をすることなく、業務内容に合った「隣のセルを自動編集するマクロ」を導入することができます。
手入力作業の効率をアップさせたい!と考えている方は是非参考にしてみてください。
隣のセルを自動編集するマクロとは
隣のセルを自動編集するマクロをざっくり説明すると、
A列のセルにテキストを入力した場合、B列のセルに対応するテキストが自動で入力される
というプログラミングです。
言葉で説明してもイメージが湧きにくいと思うので、
仕事でよく使われるサンプル事例をもとに隣のセルに自動入力するマクロの処理について詳しく解説していきます。
サンプル事例 隣のセルに別シートの情報を自動入力するマクロ
サンプル事例では、
E列に氏名を入力するとF列~H列に別シートにある一覧表の情報が自動編集される。
というマクロを設定しています。
一覧表に取引先やお客様の情報を入力するような業務に役立ちます。
マクロの動作としてはこんな感じ
「プルダウン一覧」シートにある個人情報の一覧表から情報を取得。
「会社名」と「氏名」を入力した時点で「身長」「体重」「性格」が自動入力されます。
「会社名」または「氏名」のどちらかを削除すると「身長」「体重」「性格」の情報が自動削除されるので、
入力・削除の手間を大幅に削減することが可能です。
この「隣のセルを自動編集するマクロ」の便利さを体感して頂くために記事の最後では、
「隣のセルを自動編集するマクロ」が設定されたエクセルファイルをダウンロードすることが可能です。
エクセルを使って、「顧客名簿の管理」「請求領収処理」を行っている方は是非参考にしてみてください。
隣のセルを自動編集するマクロの作り方
「隣のセルを自動編集するマクロ」には、シートイベントChangeと引数Targetを利用します。
これらのVBAを組み合わせて利用することで「隣のセルを自動編集するマクロ」の構築が可能です。
わかりやすく解説するために簡単なサンプルを使ってマクロの設定方法をご紹介していきます。
サンプルの内容は、
Sheet「テスト」のA1セルにテキストを入力したとき、B1セルに「テスト」というテキストが入力される
という処理を設定してみます。
シートイベントChangeの設定方法
シートイベントChangeの設定方法がこちら
VBA編集画面を開いて、Sheet(テスト)を選択
真ん中上段のプルダウンで「Worksheet」を選択
右側上段のプルダウンで「Change」を選択
シートイベントChangeの設定はこれで完了です。
ここまでの操作を行うと、
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
のコードが自動的に表示されます。
「テスト」シートのセルに変化が発生したとき処理を実行する
という意味です。
引数Targetの設定方法
引数Targetは上記で設定した「Worksheet_Change」の中に記入するコードの中に設定していきます。
引数Targetは、「.Row」と「.Column」と組み合わせて利用します。
「A1セルが変化したとき」というコードを表現するには、
IF Target.Row = 1 And Target.Column = 1 Then
「C31セルが変化したとき」というコードを表現するには、
IF Target.Row = 3 And Target.Column = 3 Then
というコードにします。
シートイベントChangeの設定方法と引数Targetの設定方法を踏まえて、
サンプル事例を表現するコードがこちら
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(Cells(1, 1), Cells(1, 1))) Is Nothing Then
Exit Sub
Else
Cells(1, 2) = "テスト"
End If
End Sub
マクロの実行結果がこちら
サンプルコードは、
A1セルに変化がなければ処理を終了する、A1セルに変化があったときB1セルに「テスト」というテキストを入力する
という意味です。
このサンプルコードは、
入力するテキスト内容やセル番地を編集するだけでいろんな業務に応用させることが可能
です。
是非コピペしてお使いください。
「隣のセルを自動編集するマクロ」の代行設定サービス
下記のサイトでは、
業務内容に合わせて「隣のセルを自動編集するマクロ」をアレンジするサービス
受注しています。
>>> マメBlogのエクセルマクロの開発依頼はこちら
この記事で紹介している「隣のセルを自動編集するマクロ」は基礎中の基礎
複雑な処理が求められるエクセル業務にそのまま導入することは難しいと思います。
なので、コードを改良したり、「隣のセルを自動編集するマクロ」以外に別のマクロと組み合わせたりしなければ仕事で使えるマクロにはなりません。
「隣のセルを自動編集するマクロ」の仕組みは理解できたけどコードの改良はハードルが高い。。
このように感じる方は
業務内容に合わせて「隣のセルを自動編集するマクロ」をアレンジする代行サービス
がおすすめです。
「どのような業務をしているのか」「マクロを使ってどのような処理を自動化したいのか」の聞き取りを行い、
業務内容に合ったマクロをご提案させていただきます。
エクセルVBA初心者だけどマクロを設定してエクセル業務の効率をアップさせたい!と考えている方はお気軽にご相談ください。
>>> マクロの開発依頼はこちら
「隣のセルを自動編集するマクロ」のダウンロード
この記事で紹介している「隣のセルに別シートの情報を自動入力するマクロ」と「A1セルにテキストを入力するとB1セルが自動編集されるマクロ」2つのマクロが設定されたエクセルファイルをダウンロードすることが可能です。
「隣のセルに別シートの情報を自動入力するマクロ」には、
条件によってテキストを削除するマクロやプルダウンリストを表示させるマクロなどいろんな仕事に応用できるマクロが数多く設定されているので是非参考にしてみてください。
この記事が気に入ったらサポートをしてみませんか?