- ベストアンサー
EXELで文字列の先頭に文字を挿入したい(置換)
EXEL2003です。 セルに文字列が並んでいます。 それの先頭にある文字を挿入するにはどうしたらよいのでしょうか? 「置換」で先頭とか、末尾を指定する方法がありますか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#01です。変換したい文字列のセル範囲が決まっているなら、#02さんの方法で補助セルに変換して、その結果を「コピー」→「値として貼りつけ」で書き戻す方法が良いと思います。 もしシート中の全ての「文字列」が入っているセルの先頭に「ある文字」を挿入するなら、以下のマクロになります。 Sub Macro4() Dim r As Range For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 2) r.Value = "ある文字" & r.Value 'この行を修正 Next r End Sub また「文字列」だけではなく「数値」も同様にするなら、SpecialCells(xlCellTypeConstants, 2)の数字を2→3に変更してください。 末尾に「ある文字」をつけたいのなら r.Value = r.Value & "ある文字" に変更してください。 マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します マクロで変換した結果はUNDOで戻せませんので、シートはコピーしてから試してくださいね。
その他の回答 (2)
- gutoku2
- ベストアンサー率66% (894/1349)
<全ての先頭に、特定の文字を付加する場合> A1に”いろは” A2に”にほへ” A3に”とちり” B1に”あいう” が入力されている場合、 A列の先頭に”あいう”を付加して、”あいういろは” ”あいうにほへ” ”あいうとちり”にしたい、という質問でよろしいでしょうか? もしも、この解釈でよろしいのでしたら、 C1に=B1&A1 で”あいういろは” になります。 以下 C2=B1&A2 で”あいうにほへ”になります。 C列をコピーしてA列に値コピーをすれば目的を達成できます。 <先頭(末尾)の文字が特定の文字の場合、特定の文字を付加する場合> 先頭が”い”の場合、特定の文字”あいう”を付加する場合。 C1=IF(LEFT(A1,1)="い",B$1&A1,A1) 末尾が”へ”の場合、特定の文字”あいう”を付加する場合 C2=IF(RIGHT(A2,1)="へ",B$1&A2,A2)
- zap35
- ベストアンサー率44% (1383/3079)
補足要求です >それの先頭にある文字を挿入するにはどうしたらよいのでしょうか は全セルの文字列の先頭に「ある文字」を挿入するということですか? それとも先頭が「○○」であるセルに対してのみ先頭に「ある文字」を挿入したいということでしょうか? 置換で正規表現に触れていますので後者のように思いますが、もう少し具体的に説明していただけませんか また関数で別のセルに「ある文字」を挿入するのはOKですか? それともセルの値を直接置換しなければなりませんか?
補足
ありがとうございます。 全セルの文字列の先頭に「ある文字」を挿入するということです。 ワードだとできように記憶しているのですが。