Excel VBAで不要な文字を消去する関数を作成する

Excel VBAで不要文字作成関数を作成しよう

今回は、Excel VBAで作成できる便利なユーザー定義関数を紹介します。この関数には「REMOVECHAR」という名前を定義しています。この関数は、指定された文字を除去するためのものです。不要な全角スペース、半角スペース、絵文字などを簡単に削除できます。

REMOVECHAR関数の作成方法

まず、ExcelのVBAエディタを開き、「標準モジュール」に以下のコードを貼り付けます。

Function REMOVECHAR(textString As String, ParamArray removeChars() As Variant) As String
    Dim i As Long
    Dim j As Long
    Dim newText As String
    Dim currentChar As String
    Dim removeFlag As Boolean
For i = 1 To Len(textString)
    currentChar = Mid(textString, i, 1)
    removeFlag = False
    
    For j = LBound(removeChars) To UBound(removeChars)
        If currentChar = removeChars(j) Then
            removeFlag = True
            Exit For
        End If
    Next j
    
    If Not removeFlag Then
        newText = newText & currentChar
    End If
Next i

REMOVECHAR = newText
End Function

REMOVECHAR関数の使い方

REMOVECHAR関数は、セル内の文字列から指定した文字を削除するための関数です。使い方は以下の通りです。

=REMOVECHAR("対象の文字列", "削除したい文字1", "削除したい文字2", ...)

実用例

以下にいくつかの実用例を示します。

  • 全角スペースと半角スペースを削除する場合:
    =REMOVECHAR("こんにちは  世界!", " ", " ")
    

    結果: “こんにちは世界!”

  • 文字列から特定の絵文字を削除する場合:
    =REMOVECHAR("今日は晴れ☀️ですね", "☀️")
    

    結果: “今日は晴れですね”

  • セルB2(「睦月」)から2つの文字(「」)を削除する場合
    =REMOVECHAR(B2,"「","」")
    

    結果: “睦月”

REMOVECHAR関数を使うことで、簡単に不要な文字を削除することができます。自分のニーズに合わせて、様々な文字を削除することが可能です。

コメント