Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62237 / 76732 ←次へ | 前へ→

【19102】Re:Replaceでの文字列置換後の書式について
お礼  kissanhnta  - 04/10/21(木) 16:45 -

引用なし
パスワード
   さっそく回答いただきありがとうございます。
InStrを使う手があったのですね。
勉強になりました!

一度に複数のセルを対象に置換すること、
対象文字列は2文字とは限らないこと、
セル内に複数の対象文字列が含まれることを
考慮し、以下のようにして解決しました。

ありがとうございました!

前:昨日は晴れでした。今日も晴れです。
後:昨日は雨でした。今日も雨です。

Sub Replace()
  Dim checkStr As String
  Dim replaceStr As String
  Dim strPos As Integer

  checkStr = "晴れ"
  replaceStr = "雨"

  For i = 1 To Selection.Cells.Count
    strPos = 1
    Do While strPos <> 0
      strPos = InStr(1, Selection.Cells(i).Characters.Text, _
      checkStr)
      If strPos > 0 Then
        With Selection.Cells(i)
          .Characters(strPos, Len(checkStr)).Text = replaceStr
        End With
      End If
    Loop
  Next
End Sub
2 hits

【19094】Replaceでの文字列置換後の書式について kissanhnta 04/10/21(木) 14:59 質問
【19099】Re:Replaceでの文字列置換後の書式について Kein 04/10/21(木) 15:47 回答
【19102】Re:Replaceでの文字列置換後の書式について kissanhnta 04/10/21(木) 16:45 お礼

62237 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free