【エクセルVBA】文字列内の指定した文字を置換

当ページのリンクには広告が含まれています。

スポンサーリンク

VBAを用いて 文字列内の指定した文字を置換 する方法を解説します

クリックしてジャンプ

文字列内の指定した文字を置換

Replace関数は、文字列内の指定された文字列を別の文字列に置換します

Dim replacedString As String
replacedString = Replace("I love VBA", "love", "like")
MsgBox "置換後の文字列は '" & replacedString & "' です。"

Replace関数の構文

Replace(expression, find, replace, [start], [count], [compare])
  • expression: 操作対象の文字列を指定します。
  • find: 置換対象となる部分文字列を指定します。
  • replace: 置換後の部分文字列を指定します。
  • start(省略可能): 置換を開始する位置を指定します。省略すると、文字列の先頭から置換が始まります。
  • count(省略可能): 置換を行う回数を指定します。省略すると、すべての一致が置換されます。
  • compare(省略可能): 大文字と小文字の区別を指定します。省略すると、大文字と小文字は区別されます。

セルの内容を置換

Sub ReplaceInCell()
    Dim cellContent As String
    Dim replacedContent As String
    
    cellContent = Range("A1").Value ' セルA1の内容を取得
    replacedContent = Replace(cellContent, "old", "new") ' "old" を "new" に置換
    Range("B1").Value = replacedContent ' 結果をセルB1に表示
End Sub

解説: セルA1の文字列内の「old」を「new」に置換し、その結果をセルB1に表示します

出力結果: セルA1に「old value」が入力されている場合、セルB1に「new value」が表示されます。

指定した文字列を置換

Sub ReplaceInString()
    Dim sampleString As String
    Dim replacedString As String
    
    sampleString = "Hello, World!" ' サンプル文字列
    replacedString = Replace(sampleString, "World", "VBA") ' "World" を "VBA" に置換
    MsgBox "The replaced string is " & replacedString ' 結果をメッセージボックスに表示
End Sub

解説: サンプル文字列「Hello, World!」内の「World」を「VBA」に置換し、その結果をメッセージボックスに表示します

出力結果: メッセージボックスに「The replaced string is Hello, VBA!」と表示されます

ユーザー入力の文字列を置換

Sub ReplaceInUserInput()
    Dim userInput As String
    Dim replacedString As String
    
    userInput = InputBox("文字列を入力してください:") ' ユーザー入力を取得
    replacedString = Replace(userInput, "a", "o") ' "a" を "o" に置換
    MsgBox "置換後の文字列は " & replacedString & " です。" ' 結果をメッセージボックスに表示
End Sub

解説: ユーザーから入力された文字列内の「a」を「o」に置換し、その結果をメッセージボックスに表示します

出力結果: ユーザーが「banana」と入力した場合、メッセージボックスに「置換後の文字列は bonono です。」と表示されます

複数セルの内容をまとめて置換

Sub ReplaceInMultipleCells()
    Dim i As Integer
    For i = 1 To 10
        Range("B" & i).Value = Replace(Range("A" & i).Value, "old", "new") ' 各セルの "old" を "new" に置換して表示
    Next i
End Sub

解説: 範囲A1:A10の各セルの文字列内の「old」を「new」に置換し、その結果を範囲B1:B10に表示します

出力結果: 例えば、セルA1に「old」、A2に「old value」が入力されている場合、セルB1に「new」、B2に「new value」が表示されます

スポンサーリンク

クリックしてジャンプ