文字列の一部を置き換える : Excel(エクセル)

Excel VBAで文字列の指定した一部の文字を、指定した別の文字に置き換えます。

Excel Tipsメニューに戻る

スポンサーリンク





Excel VBA コード

Option Explicit

'Excel VBAで文字列の置き換え
'src: 元の文字
'fnd: 置き換え前の文字
'repl: 置き換え後の文字
Public Sub ExReplaceStr(src As String, fnd As String, repl As String)
    Dim delpos As Long
    Dim startpos As Long
    Dim before As String
    Dim after As String
    
    '検索開始位置
    startpos = 1
    '開始の検索結果位置
    delpos = InStr(startpos, src, fnd)

    Do Until delpos = 0
        '検索位置から前の文字
        before = Left(src, delpos - 1)
        '検索位置から後の文字
        after = Right(src, (Len(src) - (delpos + Len(fnd) - 1)))
        '置き換え後の文字
        src = before & repl & after
        '次の位置から繰り返す
        startpos = Len(before) + Len(repl) + 1
        delpos = InStr(startpos, src, fnd)
    Loop
End Sub

Private Sub CommandButton1_Click()
    Dim s1 As String
    
    '置き換え前の文字
    s1 = "あいうえおおまかせかきくけこ"
    Range("B9") = s1
    '文字列の置き換え
    ExReplaceStr s1, "おまかせ", "食べる"
    '置き換え結果の表示
    Range("B10") = s1
End Sub

スポンサーリンク





Excel実行結果

コマンドボタンをクリックすると、B9に置き換え前の文字、B10に置き換え後の文字が表示されます。

スポンサーリンク






Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved