『特定文字の変換』(みほじょう) すみません,教えてください。 A1セルに「あ,か」,A2セルに「さ,あ」,A3セルに「か,た」 と不規則に文字が入っているとします。 それで,A1,A2,A3セルを検索して 「あ」を「あいう」,「か」を「かきく」と変換して A1セルに「あいう,かきく」,A2セルに「さ,あいう」,A3セルに「かきく,た」 と表示されるようにVBAでしたいのですが,できますでしょうか。 ---- VBAではないですが・・・。 =SUBSTITUTE(SUBSTITUTE(B1,"あ","あいう"),"か","かきく") ではだめですか? (MARBIN) ---- VBAでの場合でも考え方は同じです。 RePlace を使います。 VBAの場合は入れ子でもできるとおもいますが、 一度変換した値を再度変換、でもできます。 (MARBIN) ---- Replace 分かりました。 検索で調べて,以外と簡単でした。ありがとうございました。 ここでまた質問ですが。 A1セルに「あAい,うえA」,A2セルに「AおA,うAえ」 と不規則に文字が入っているとします。 ここで,各単語の最後の文字がAのときだけ,AをABCに変換して A1セルに「あAい,うえABC」,A2セルに「AおABC,うAえ」 と変換されるようにVBAでしたいのですが,こんなことできますでしょうか。 (みほじょう) ---- Right(文字列,1) で一番右の文字列を取得できます。 これで条件分岐してはいかがでしょう? (MARBIN) ---- > と変換されるようにVBAでしたいのですが,こんなことできますでしょうか。 そのような仕組みを作ればできますよb Split、Joinなども使うとやりやすいかも。 (ROUGE) '---- Sub Sample() Dim rr As Range, x, i As Long For Each rr In Range("A1:A3") x = Split(rr.Text, ",") For i = 0 To Ubound(x) Select Case Right(x(i), 1) Case "あ": x(i) = x(i) & "いう" Case "か": x(i) = x(i) & "きく" Case "A": x(i) = x(i) & "BC" End Select Next rr.Value = Join(x, ",") Next End Sub ---- Like演算子などというのもありました。 (MARBIN) ---- 分かりました。どうもありがとうございました。 すみません,また別の質問ですが。 A1セルに「あい う AAえお か」,A2セルに「かき くAAけこ さし」 と不規則に文字が入っているとします。 ただし,AAという文字が間に含まれています。 また文字と文字の間の空欄は,全角スペースです。 ここで,AAより前の全角スペースは全て削除して,空欄を詰める。 AAの直後には,必ず全角スペースを1つ作る。 という操作をして A1セルに「あいうAA えお か」,A2セルに「かきくAA けこ さし」 というふうに変換されるようにVBAでしたいのですが,できますでしょうか。 いつも,教えてもらうばかりですみませんが,よろしくお願いします。 (みほじょう) ---- >ここで,AAより前の全角スペースは全て削除して,空欄を詰める。 >AAの直後には,必ず全角スペースを1つ作る。 いずれも >RePlace でできるかとおもいます。 (MARBIN) ---- このようなFunction Procedureを使用されてはどうでしょうか。   Private Function Miho(txt As String, dl As String) As String Dim x If InStr(1, txt, dl) > 0 Then x = Split(txt, dl) x(0) = Replace(Replace(x(0), " ", ""), " ", "") Miho = Join(x, dl & " ") Else Miho = txt End If End Function   (ROGUE)