全角文字間のスペースを削除

Pocket

半角英数字では半角スペースが単語を区切るので、ないと困りますが、日本語間の半角スペースは不要である場合があります。
日本語(半角英数字以外)同士に挟まれた半角スペースだけを削除するExcelのマクロを考えてみました。

Like演算子を使っています。
3文字ずつチェックし、「日本語」「半角スペース」「日本語」と並んでいる場合、「半角スペース」を取り除き、「日本語」「日本語」とします。
「Like "[!0-9a-zA-Z]"」とすることで、半角数字と半角英字以外を調べることができます。

Sub 選択範囲の全角文字間のスペースを削除する()
    Const an = "[!0-9a-zA-Z]"
    Dim c As Object
    Dim s, a As String
    Dim i As Long
    For Each c In Selection
        v = c.Value
        s = ""
        For i = 1 To Len(v)
            a = Mid(v, i, 3)
            If a Like an & " " & an Then
                i = i + 1
            End If
            s = s + Left(a, 1)
        Next i
        c.Value = s
    Next c
End Sub

関連記事

[ 2012年2月25日 | カテゴリー: Excel | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報