プロが教えるわが家の防犯対策術!

エクセルの複数セル内に文章が入っているのですが、その中で「田中」という文字を検索して、見つかれば、「山田」という文字に置換し、セルの色を変えたいのですが、findメソッドやreplaceを使えばなんとなくできそうな感じがするのですが、どうしてもうまくいきません。
どなたかご存知の方がいればご教示ください。
よろしくお願いします。

A 回答 (3件)

Findメソッドは見つからなかった場合の処理が、初心者には難しい(でも本には書いてあるから、まねをすればよいのだが、VBAの本も持っていないのでは?)


セルを全て総なめにIFで聞いて、置換と色付けをして見ます。
セル数が1万程度ならすぐ終わるでしょう。
Sub test01()
Dim cl As Range
Dim s As String
Dim p As Integer
Application.ScreenUpdating = False
For Each cl In Selection
p = InStr(cl, "山田")
If p = 0 Then
Else
s = Replace(cl, "山田", "大田原")
cl.Value = s
cl.Interior.ColorIndex = 6
End If
Next
Application.ScreenUpdating = True
End Sub
    • good
    • 0

#01です。

先の回答は山田を田中に変えるものでした。
読み替えてください
    • good
    • 0

こんな感じではいかが?


Sub Macro9()
Dim r As Range
 Application.ScreenUpdating = False
 For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 23)
  If IsNumeric(Application.Find("山田", r.Value)) Then
   r.Value = Replace(r.Value, "山田", "田中")
   r.Interior.ColorIndex = 28
  End If
 Next r
 Application.ScreenUpdating = True
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A