
下方のマクロを実行することにより、
文字列リストの内容に基づいて、
別シート(作業)内の文字列を変換することができます。
文字列からコード値へ変換することを目的にマクロを埋め込んだのですが、
別シート(作業)の文字列をコード値に変換した際、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
ご教示いただければ幸いです。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
力技ですが・・・
文字列として認識されるよう置換される数字の前に「'」をつけて置換し、
その場合、「,」後ろの文字置換に関しては「'」が余計なので、
最後に「,'」を置換という方法です。
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) = ""
'このままだと2つ目以降の置換では「'」が表示されるので「,'」を「,」に置換
x1 = ",'"
x2 = ","
Sheets("作業").Cells.Replace _
What:=x1, Replacement:=x2, _
SearchOrder:=xlByColumns, MatchCase:=True
End Sub
No.2
- 回答日時:
私は2007ですが、問題なくマクロは実行しますね。
カンマが無くなるような事は無いですA列の文字列の後にカンマが入ってるなんて事はありまんよね?
変数X1をStrで文字列指定してみては?
Str指定すると空白が挿入される事があるのでTrimで空白削除
What:=x1, Replacement:=Trim(Str(x2)),_
ご教示くださいまして、ありがとうございました。
Office 2010を使用しておりますが、同バージョンだと解決しませんでした。
バージョンによって差があるようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で完全一致したキーワ...
-
IME 郵便番号辞書 で 都道府...
-
Googleスプレッドシートでワイ...
-
TeraPadでの置換方法
-
正規表現で最初にマッチしたも...
-
ファイル名を特定の文字までを...
-
《》で囲まれた文字をすべて削...
-
PS4コントローラーをPCでゲーム...
-
Excelで入力禁止文字を設定したい
-
EBCDIC⇒SJIS変換の方法
-
エクセルでアルファベットか数...
-
Chr(13)とChr(10)の違いは?
-
文字列からタブコードを取り除...
-
EXCELで=より左の文字を一括で...
-
4Kの外部モニターに出力すると...
-
エクセルでセル内改行の複数行...
-
std::stringからLPCWSTR型への変換
-
棒グラフ 横軸の縦書き2列にし...
-
wordで均等割り付けをするとき...
-
短歌が1行で収まらない場合、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
TeraPadでの置換方法
-
《》で囲まれた文字をすべて削...
-
ファイル名を特定の文字までを...
-
正規表現で最初にマッチしたも...
-
【正規表現に詳しい方】ダブル...
-
正規表現で完全一致したキーワ...
-
ファイル名に空白がある時、一...
-
IME 郵便番号辞書 で 都道府...
-
(*)を_【*】に一括変換したいの...
-
メモ帳の置換機能で特定の文字...
-
OpenOffice Calc についての質...
-
ワードを使用した特定かつ複数...
-
正規表現で固定長に揃えたい
-
Flexible Renamerの正規表現に...
-
WinMergeにて置換の際に、文字...
-
クリップボードの内容を正規表...
-
【シェル】チルダの置換
-
秀丸で置換かマクロで括弧をと...
-
秀丸の正規表現で [ や ] 自体...
おすすめ情報