[[20090129150308]] 『特定文字の変換』(みほじょう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『特定文字の変換』(みほじょう)

 すみません,教えてください。

 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)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.