Excel VBAで文字列の中から指定した一部の文字列を全て削除します。 削除といっても実際に削除するのではなく、見つかった文字列以外を結合する方法です。 結果的に検索文字列が含まれなくなります。 VBAではInstr関数・Left関数・Mid関数を使用します。 Instr関数の詳しい構文は「フルパスから親パスを取得する実行コード」を参照してください。 |
Excelシート画面
ボタンをクリックすると下記を実行します。
「100-4545」郵便番号から「-」を取り除く。
結果A7セルの「1004545」になっています。
「エクセルのVBAを使ったエクセルの小技」から「エクセルの」を取り除きます。
結果A9セルの「VBAを使った小技」になっています。
ExDeleteStrプロシージャの解説
引数
sSrc:元の文字列です。
sDel:削除する文字列
Excel VBA実行コード
Private Function ExDeleteStr(sSrc As String, sDel As String) As String
Dim s1 As String
Dim sc As String
Dim n As Integer
Dim nLen As Integer
sc = sSrc
s1 = ""
nLen = Len(sDel)
n = InStr(sc, sDel)
Do While n > 0
If n > 1 Then
s1 = s1 & Left(sc, n - 1)
End If
sc = Mid(sc, n + nLen)
n = InStr(sc, sDel)
Loop
ExDeleteStr = s1 & sc
End Function
Private Sub CommandButton1_Click()
Dim s1 As String
s1 = "100-4545"
Range("A6") = s1
Range("A7") = ExDeleteStr(s1, "-")
s1 = "エクセルのVBAを使ったエクセルの小技"
Range("A8") = s1
Range("A9") = ExDeleteStr(s1, "エクセルの")
End Sub
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します