- ベストアンサー
各セルの不要データを取り除きたい
お世話になります。 Excel2000を使用しています。 外部データの取り込み(テキストファイルのインポート)を行い、データを取り込んだのですが 元々のテキストファイルのデータ後ろにスペースが入っているものがあるのです。 A B C 1東京都_ 36歳 男 2神奈川県 25歳_ 男 3埼玉県_ 20歳 女_ ※_がスペースです。 このスペースを除去したいのですがどのようにすればよいのでしょうか? 当方、VBAも多少ですが知識があるのでマウス操作で不可能であればVBAを使った方法でも構いません。 データの存在する全セルが対象です。スペースが2つ以上入ってる場合もありです。 また、とある1列全体の先頭文字「〒」を除去したいのですが、こちらもお分かりでしたらよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> このスペースを除去したいのですがどのようにすればよいのでしょうか? 置換では、文字列途中のスペースも詰められてしまうので、Trimを使いましょう。 ・ Trim → 前後のスペースを詰める ・ LTrim → 前方のスペースを詰める ・ RTrim → 後方のスペースを詰める という動作になります。 > とある1列全体の先頭文字「〒」を除去したいのです 下記のコードでOKです。(ちょっとムダが多いので、適宜改良してご使用ください) Sub Macro1() Dim i As Long Dim j As Long With Application.ActiveSheet For i = 1 To .UsedRange.Rows.Count For j = 1 To .UsedRange.Columns.Count If Len(.Cells(i, j).Value) > 0 Then .Cells(i, j).Value = RTrim$(.Cells(i, j).Value) End If If Left$(.Cells(i, j).Value, 1) = "〒" Then .Cells(i, j).Value = Mid$(.Cells(i, j).Value, 2) End If Next j Next i End With End Sub
その他の回答 (3)
- gura_
- ベストアンサー率44% (749/1683)
SUBSTITUTEが使えますが、 1東京都_ がA2セルにあるとして、D2セルに =SUBSTITUTE(A2," ","") と入力すれば、D2セルは「1東京都」となります。 削除したい文字が「〒」のときは=SUBSTITUTE(A2,"〒","")と入力します。 スペースが二つあっても三つあっても、いっきになくなります。ただし、全角の場合は全角のスペースを半角の場合は半角のスペースを「〒」の箇所に入力してください。 このセルを右、下にコピーすればB2,A3等もE2,D3に処理されます。 出来上がった部分を「コピー」→「形式を選択して貼り付け」 で結果の値だけのデータを好きなところに貼り付けられます。
お礼
このような関数が存在するとは全く知りませんでした。 便利な関数なので今後別の形でも使えそうです。 大変参考になりました。 どうもありがとうございます。
- HAL007
- ベストアンサー率29% (1751/5869)
VBAを書かなくても置換で出来ます。 「編集」→「置換」 変更前 SPACE 変更後 なし です。 この場合 氏 名 の様に間にあるスペースは注意が必要です。例示のケースであれば「全てを置き換える」をクリックすれば簡単です。
お礼
ご指摘のように、途中にスペースがある場合は注意が必要なのですね。 この点は今後この操作をする上で覚えておいたほうが良いですね。 どうもありがとうございました。
- table_1969
- ベストアンサー率21% (66/302)
「編集」→「置換」で「検索する文字列」にスペースをいれて、「すべて置換」を押せばOKです。
お礼
マウス操作で手軽にできるのですね。 参考になりました。 どうもありがとうございます。
お礼
コードを書いていただきありがとうございます。 目的とする結果が得られました。 しばらくVBAから離れていたせいか、スペースを除去する=Trimという発想が思いつきませんでした。 大変勉強になりました。 どうもありがとうございます。