読者です 読者をやめる 読者になる 読者になる

ゆとりずむ

東京で働く意識低い系ITコンサル(見習)。金融、時事、節約、会計等々のネタを呟きます。

MENU

複数文字列一括マクロ

仕事


あるプログラムの調査で、中に含まれている定数を全てリテラルに置き換えて実行しなきゃならん。というものがありました。
とりあえずその場は、ちまちま定数を見つけては置換しの繰り返しで対処しましたが、置き換え漏れ・ミスが出るわ出るわ(o´Å`)=з
今度やるときは、この作業したくないなーと思って作ったのがこれ。
Dropbox - Disabled link
使い方は簡単。マッピング表に、変換したい元の文字列と返還後の文字列を入れておいて、変換データの左側に変換したい文字を含む文章を貼り付け、変換ボタンを押すだけ。
ひたすら、47都道府県名を漢字からカタカナに変換する・・・みたいな仕事をする時には便利かな?w

なお、コードは超簡単。

Function textConvert(inputData)
'変数宣言部
Dim mSheet As Worksheet
Dim cSheet As Worksheet
Dim lineCount As Integer

'変数第入部
Set mSheet = Worksheets("マッピング表")
Set cSheet = Worksheets("変換データ")
lineCount = 2 '1行目は題名の為


Do
If mSheet.Cells(lineCount, 1) <> "" Then
inputData = Replace(inputData, mSheet.Cells(lineCount, 1), mSheet.Cells(lineCount, 2))
End If
lineCount = lineCount + 1
Loop While mSheet.Cells(lineCount, 1) <> ""

textConvert = inputData

End Function

ひたすらマッピング表のデータが存在する限り置換を繰り返していくファンクションを定義して、がりっと置き換えていくだけ。
大したことない代物ですが、似たような作業をしている人が居たら役に立つかもなので、おいときますか。
↓いつも使っている商売道具の一冊。やりたいことはググれば出てくるけれど、何が出来るんだろうーって、ぱらぱらめくって読むにはよい一冊。おすすめです♪