エクセルの文字列置換マクロに関するご相談
下方のマクロを実行することにより、
文字列リストの内容に基づいて、
別シート(作業)内の文字列を変換することができます。
文字列からコード値へ変換することを目的にマクロを埋め込んだのですが、
別シート(作業)の文字列をコード値に変換した際、3桁くぎりのコード値が並んだ場合に、
自動で数値として認識されてしまいます。
※別シート(作業)のセルを文字列し設定しても発生します。
プログラムで回避手段があるようでしたらご教示いただければ幸いです。
例)文字列リストシート
A B
さる 10
ぞう 15
ごりら 101
きりん 102
わに 103
かば 104
マクロ実行前の作業シート
A
さる,ぞう
ごりら
ごりら,きりん,わに
さる,ごりら
マクロ実行後の作業シート
A
10,15
101
101102103
10101
上記マクロ実行後のシートの3~4行目のように、
カンマが取れることを防ぎ、文字列として代入したい所存です。
<マクロ>
Sub 文字列リストに基づき連続して置換する()
i = 2
Do
x1 = Sheets("文字列リスト").Cells(i, 1)
x2 = Sheets("文字列リスト").Cells(i, 2)
Sheets("作業").Cells.Replace _
What:=x1, Replacement:=x2, _
SearchOrder:=xlByColumns, MatchCase:=True
i = i + 1
Loop Until Sheets("文字列リスト").Cells(i, 1) = ""
End Sub
ご教示いただければ幸いです。
よろしくお願いいたします。
お礼
ありがとうございました。 質問の仕方が悪かったようです。 申し訳ございませんでした。 改めて質問させていただきます。
補足
いまは1つ1つ手作業で文字置換しているので、 エクセルマクロで自動的に作業できるようにしたいのです。