[[20081004000634]] 『文字列の最後尾に入ったスペースを確認、削除する』(ポンデライオン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『文字列の最後尾に入ったスペースを確認、削除する』(ポンデライオン)

過去ログで探し出せなかったので質問いたします。

文字列最後尾に入力ミスなどで入ってしまっている(入るべきではない)
スペースなどのチェックをしています。

その際に、簡単に見つける方法などありましたら教えて下さい。

例:(_ ←これをスペースと例えます)

あいうえお_

あい_うえお_

あいうえお__

↑このような文字列があった場合(文字列の間に必要なスペースが入る場合もあります)
見つけたいのは、最後尾文字の後に入ったスペースだけです。
全角スペースの場合が多いのですが、全角スペース半角スペース両方を見つける方法があったら嬉しいです。

また、入力規則などで事前に最後尾にスペースが誤って入らないように注意が出るなどの方法も知りたいです。

見つける方法、削除は、別々の作業でも大丈夫です。

まず見つけて確認してから→それから削除する・・・など。

わかりづらい言葉で申し訳ないのですが、宜しくお願いいたします。<(_ _)>


 別セルへならTRIM関数はどうでしょうか。

 (川野鮎太郎)

 例えばこんな塩梅に?
 範囲を選択したうえ実行します。
     (弥太郎)
 '--------------------
 Sub スペース削除()
    Dim mch As Object, data As String, c As Range, rng As Range
    With CreateObject("vbscript.regexp")
        .Pattern = "[ \s]"
        .Global = True
        Set rng = Selection
        For Each c In rng
            If .test(c) Then
                c.Select
                data = c
                For Each mch In .Execute(data)
                    data = Replace(data, mch, IIf(mch = " ", "○", "△"))
                Next mch
                MsgBox data & "     [半角は○、全角は△]" & vbLf & _
                        "これがスペースが挿入されたデータです"
            End If
        Next c
    End With
    If MsgBox("これらのスペースを削除しまっか?", vbYesNo) Then
        For Each c In rng
            c = Trim(c)
        Next c
    End If
 End Sub


 >入力規則などで事前に最後尾にスペースが誤って入らないように注意
 A1セルなら
 入力値の種類を ユーザー設定 にして
 数式
=RIGHT(ASC(A1),1)<>" "

 最後の文字がスペースかどうかだけを判断します。

 間も一つ以上スペースが入ってはいけない
 (と言うことでよい)なら
=TRIM(A1)=A1

 (HANA)

 VBA使うならRTrim関数でどうですかね。

 '対象範囲を選択してから実行
 Sub test()
    Dim R As Range
    For Each R In Intersect(Selection, ActiveSheet.UsedRange)
        R.Value = RTrim(R.Value)
    Next
 End Sub
 (通りすがり)


(川野鮎太郎)様

早速のお返事も、ありがとうございます!!
こちらの「TRIM関数」は使った事がなかったので、気づきになりました。
これを機に勉強もいたします!簡単に削除できて頻繁に使えそうですね☆

(弥太郎)様

ご丁寧に、とてもわかりやすい表記で、こんな凄いお返事も、ありがとうございます!
こちらも試していきたいと思います。

(HANA)様

入力規則の方法も、色々とあるんですねー☆
今回、教えて頂いてとても勉強になりました!
ありがとうございます!!!
こちらも試していって、事前に防げるように使っていきたいと思います。

 (通りすがり)様

VBAは勉強中だったのですが、とても勉強になりました☆
これから、理解する為にも、内容を考え試してみたいと思います!
本当に、ありがとうございました!!!!

皆様、早速のお返事も大変感謝しております!ありがとうございました☆(ポンデライオン)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.