Excel 文字列・数式の前後に文字を追加するマクロ 個人用マクロブックに組み込める

Excel これができなきゃ給料泥棒

スポンサーリンク

文字列を前後に追加する作業について

上図のようにA列に会社名が並んでいて、それら全部の先頭に「株式会社」を、末尾に「 御中」を付けなきゃってことは、実務でもあるだろう。

その場合、図のC列の式のように「&」演算子を付けた式にするだけで良い。

これができないと給料泥棒だから、「&」演算子の使い方は即座にマスターしよう。

Excel 文字列を結合するのは「&」で。それだけだ。

2018年9月10日

面倒くさい・・・

ただ、もちろんこの正攻法はこれで良いのだけど、この

=”株式会社” & $A1 & ” 御中”
みたいな式を書くのも面倒なんだよね。

ダブルクォーテーション””を合計4つも書いてるし、「&」演算子とか「$A1」とかも入力は面倒。

それに、元データがA列にあってそれと別に、C列のような作業列を用意して、更に用が済んだら作業列を始末しないといけないのも面倒。

あとさり気に、数式を読みやすくするために「&」演算子の前後に半角スペースを入れる小細工もしてるんだけど、これもちょっと面倒。

とまあ、このように面倒くさがる姿勢・努力しないための努力をする姿勢というのは、Excelに限らず業務効率化とかにおいては大事なので、ぜひとも妥協なく面倒くさがるようにしよう。

ではどう解決するのかという話の前に、あともう1つの例。

数式の「=」文字の後に文字を入れて括弧を閉じる作業の例

上図ではC列<金額>に、単価×数量の式を入れてるけど、後で気付いて

=ROUND($A2*$B2,1)
みたいな式に修正したいということも結構ある。

この場合、セル編集画面に入ってから「=」文字の次にカーソルを合わせて「 ROUND( 」の文字を入れ、そして末尾に「 ,1) 」と入れるとか、これまた面倒だ。

この例に限らず様々な数式において、「=」文字の後に関数を入れ、更に式の最後を括弧 ) で閉じるという作業は発生するが、これを何度もやってると意外と面倒なものだ。

ということで今回は、セルの内容・式に対して文字列を先頭(1文字目だけでなく途中からも可)・末尾に追加するのを簡単にするマクロを取り上げる。

ソースコード・解説

では今回の本題、セルの文字列とか数式の前後に文字を追加するマクロのソースコードを示す。

この前の記事で紹介したInputBoxを2連続で起動するようにした、ゴリ押しのマクロ。

Excel VBA InputBox(2)キャンセル処理の決定版・・・だと思う

2019年4月17日

Excel VBA InputBox(1)InputBoxの基本形

2019年4月17日

実際に起動するマクロは、最後の2つ「addStringForwardAndBack」「addStringForwardAndBack01」のマクロ。
私はこれらを、自分の個人用マクロブックに組み込んで使っている。

個人用マクロブックとかについては、ここを展開。

オリジナルのマクロをリボンに追加する方法はこちら

個人用マクロブックについては、こちらこちらで述べています。

 

InputBoxのメッセージで「空欄でも構いません。」と書いているように、前方・後方のうち一方だけの文字列追加でも良いようにしてある。

最後に、それぞれのマクロの動作イメージを動画に示す。

スポンサーリンク