[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字列の最後尾に入ったスペースを確認、削除する』(ポンデライオン)
過去ログで探し出せなかったので質問いたします。
文字列最後尾に入力ミスなどで入ってしまっている(入るべきではない)
スペースなどのチェックをしています。
その際に、簡単に見つける方法などありましたら教えて下さい。
例:(_ ←これをスペースと例えます)
あいうえお_
あい_うえお_
あいうえお__
↑このような文字列があった場合(文字列の間に必要なスペースが入る場合もあります)
見つけたいのは、最後尾文字の後に入ったスペースだけです。
全角スペースの場合が多いのですが、全角スペース半角スペース両方を見つける方法があったら嬉しいです。
また、入力規則などで事前に最後尾にスペースが誤って入らないように注意が出るなどの方法も知りたいです。
見つける方法、削除は、別々の作業でも大丈夫です。
まず見つけて確認してから→それから削除する・・・など。
わかりづらい言葉で申し訳ないのですが、宜しくお願いいたします。<(_ _)>
別セルへなら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.