B1には「XYZは、・・・」といった文字列があったとします。「ABC」と「XYZ」を置き換えたいです。
つまり、「ABCは、・・・」といった文字列をつくりたいのです。文字列の先頭から「は」を探し、
それを置換すればできそうな気もするのですが、何か良い方法はないでしょうか?関数の組み合わせで
なんとかできないでしょうか?それともVBAが必要になるでしょうか?ちなみに1000行分のこういった
データを置換したいので、簡単にできればと思っています。
VBA の例です。
元のファイルと、変更後の保存ファイルを指定して main を実行すると
シートの A列をB列の文字に変換して新しいファイルに保存します。
'---------------------------------------------------------- Sub main() '---------------------------------------------------------- Replaces "C:\text.txt", "C:\new_text.txt" End Sub '---------------------------------------------------------- Sub Replaces(filePath As String, newFilePath) '---------------------------------------------------------- Dim lastRow As Long lastRow = Range("A" & Rows.Count).End(xlUp).Row Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filePath) = False Then MsgBox filePath & " がありません." Exit Sub End If Dim txtData As String txtData = fso.OpenTextFile(filePath).ReadAll() For r = 1 To lastRow txtData = Replace(txtData, Cells(r, "A").Value, Cells(r, "B").Value) Next fso.CreateTextFile(newFilePath).Write txtData End Sub
C1に下記を入力(コピペ)
=A1&MID(B1,SEARCH("は",B1,1),(LEN(B1)-SEARCH("は",B1,1)+1))
C1を1000行まで オートフィル
で
A列の文字をB列のはの前に持ってきた文字列をC列に表示する事が
できました。
コメント(1件)
無視してください。