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