[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白を含むセルが存在するかチェック』(chu)
空白を含むセルが存在するかチェックしたいです。
A B C D E 1ああ 2いい(空白) 3うう 4ええ 5おお
このように、目に見えない空白があるセルを最終行まで調べて探したいのですが、どのように記述すれば良いでしょうか?良ければマクロでお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
探して消すだけなら、
Trim関数でB列に出力して、A列の値を置き換える
田中 太郎 など、空白を挟む文字が要らないなら、置換で置き換える
空白しかないセルの処置なら、後者でいいんじゃないですかね? ただ調べるだけでも検索で「全て検索」すれば出てきますよ。 必要に応じて検索オプションの「セル内容が完全に同一であるものを検索する」などを 活用されると良いでしょう。
(稲葉) 2015/10/09(金) 14:59
>目に見えない空白
目に見えない空白とは? 空白は、目に見えませんよねぇ・・・ 逆に目に見える空白って、どんな空白?
ところで、エクセルで空白というものを扱うときに、おうおうにして、認識の差異がでるのが 「本当の空白」セルと「空白に見えるけど、式なんかで "" という長さ0の文字列が入った空白」 これらの、どちらを相手にするのか、あるいは両方相手にするのか。
そのほか、目に見えないというば、全角や半角のスーペースも目に見えませんし、あるいは 改行とかタブといった制御文字(含む、ごみ)も目に見えませんね。
そのあたり、どんなものを、どうしたいのかを明確にされたほうがいいですよ。
★で、本題の質問なんですが、どこからこどに空白があるかを調べるのですか? 「最終行まで」とあります。行というのは1行目から1048576行目までのことですか? アップされた例では(空白)というのが B列にあったので気になっています。
さらに、調べてどうするんですか? メッセージを出すとか色を塗るとか、何かしないと意味ないですよね。
(β) 2015/10/09(金) 15:04
探したいのですが、消したくはないのです。
探して見つけて、見つかったら作成者が消す。という風にしたいのですが、trim関数でできますでしょうか?
(chu) 2015/10/09(金) 15:04
あぁ、空白 というのは スペース のことでしたか。
(β) 2015/10/09(金) 15:08
(空白)と文字で書いたので、一応目に見えないと書きました。すみません。
空欄ではなくスペースの空白です。目に見えないもの全てを探したいです。
最終行というのは文字列を含む最終行までですね。
調べて、見つかればmsgboxを出したいと思っています。
(chu) 2015/10/09(金) 15:09
B列の空白なのか、 A列に入ってる空白のことなのか
A列の空白なら、=LEN(A1)=LEN(TRIM(A1))で比較して、その結果をB列に返すことはできると思いますけど とにかく情報が少ないですね。
端的な文言知ってるなら、丸投げしないで、自分で書いてみてはいかが??
(稲葉) 2015/10/09(金) 15:11
誤解があればスルーしてください。
Sub Test() Dim r As Range Dim c As Range Dim f As Range Dim sp As Variant
With ActiveSheet.UsedRange For Each sp In Array(" ", " ") Set f = Nothing Set c = .Find(What:=sp, LookAt:=xlPart) If Not c Is Nothing Then Set f = c Do If r Is Nothing Then Set r = c Else Set r = Union(r, c) End If Set c = .FindNext(c) Loop While c.Address <> f.Address End If Next
If r Is Nothing Then MsgBox "スペースがあるセルはありません" Else r.Select MsgBox "選択されたセルにスペースがありました。" & _ "該当のセルは以下の通りです" & vbLf & _ Join(Split(r.Address(False, False), ","), vbLf) End If End With
End Sub
(β) 2015/10/09(金) 15:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.