- ベストアンサー
Excelファイルのセルに大量の文字列が入っていて、改行コードを削除したい方法
- Excelファイルのセルには大量の文字列が入っており、1セル当たりは4〜5文字です。しかし、文字列の後ろには見えない改行コードが付いているようです。
- 改行コードと思われる不可視の文字により、文字列の後ろを削除することができません。セルを選択し、バックスペースキーを押すことで一文字ずつ削除できますが、セルの数が多いため非効率です。
- セルの置換処理を使用して改行コードを削除しようとしましたが、削除することができませんでした。改行コードではない不可視の文字が存在する可能性も考えられます。全てのセルから不可視の文字を削除する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
置換にかからないことから,それはCtrl+J(CHAR(10))じゃない別の文字である事が判ります。 手順: 不明の文字を含んだセルを選択 数式バーの中で一番最後にカーソルを入れ ←で1文字送れる(戻せる)ことから,Shift+←で不明の1文字を「選択」 Ctrl+Cでコピー 置換ダイアログの検索する文字列欄にCtrl+Vで貼り付け 全て置換 のようにしてみます。 操作を行う前に検索する文字列欄で念入りにBackSpaceを押して,先に試したCtrl+Jとかが残ってない状態にしてから操作して下さい。 あるいは =CODE(RIGHT(A1)) で末尾の一文字の文字コードを実際に抽出し,VBAなどを使ってその文字コードの文字の置換を掛けてみるのでも良いかもしれません。
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
問題の文字が実際に何の文字だったのか,手を動かして事実を確認してみてからのお話になると思いますが。あるいは回答した,とりあえず簡易な方策で対処可能なのか。 >マクロでやりたい では application.clean(問題の文字列) で処置できるか,こちらもまず実際に試してみて下さい。 >Eは39 VBAをやられてる方には釈迦に説法で大変恐縮ですが,VBAではchr(39)でEに戻します。
お礼
再度ありがとうございます。 VBAといってもコードを扱うのは初めてで何も分かりません。
- bunjii
- ベストアンサー率43% (3589/8249)
>置換操作でなぜ削除出来なかったのでしょうか?改行コードではないのか?とも疑ってます。 改行コードではないかも知れませんね。 目に見えない文字は文字コードで確認する必要があります。 =CODE(RIGHT(対象セル,1)) → 文字コード >非常に小さいスペース? 文字コードが見つかれば次の式で制御コードを削除できます。 =SUBSTITUTE(対象セル,CHAR(文字コード),"")
お礼
ありがとうございます。 確認出来たら、substituteにて削除します。
お礼
早速の御回答ありがとうございます。 shiftキーで選択し検索文字列にする案、確かにその通りですね。 実は、VBAで処理中にエラーとなり、原因を探ったら上記質問に行き着きました。なので後半の内容に興味があります。 code関数について調べました。 例えばアルファベットEの文字コードは code(E)=69なのだそうですね。code(right(A1))にて文字コードが判明した後、取り扱いはどうすればいいのでしょうか?数字で「69」と入力したら、もちろん駄目ですよね。