アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルファイルのセルに文字列が大量に入ってます。1セル当たりは4,5文字です。
文字列の後ろに改行コードが付いてるようのです。

改行コードだと思った理由
・LEN(セル)で文字数を表示させると、見た目より1文字多い
・セルを選択し画面上部の編集ボックス?で文字列の後ろをカーソルでクリックし、
 左矢印←を押すと、2回押しで動く。いかにも見えない一文字があるかのように動く
・文字列後ろをクリックしバックスペースを押すと←による動きが正常になる

取った対策
セルをいくつか選択し、置換処理で削除しようとしたが、削除出来なかった。
検索文字列: 改行コード(ctrl+J)
置換文字列: なし

バックスペースキーで解消出来ますが、全セルで行うには数が多過ぎます。
置換操作でなぜ削除出来なかったのでしょうか?改行コードではないのか?とも疑ってます。
非常に小さいスペース?

どうすれば全部削除出来るでしょうか?

A 回答 (3件)

置換にかからないことから,それはCtrl+J(CHAR(10))じゃない別の文字である事が判ります。



手順:
不明の文字を含んだセルを選択
数式バーの中で一番最後にカーソルを入れ
←で1文字送れる(戻せる)ことから,Shift+←で不明の1文字を「選択」
Ctrl+Cでコピー
置換ダイアログの検索する文字列欄にCtrl+Vで貼り付け
全て置換

のようにしてみます。
操作を行う前に検索する文字列欄で念入りにBackSpaceを押して,先に試したCtrl+Jとかが残ってない状態にしてから操作して下さい。


あるいは
=CODE(RIGHT(A1))
で末尾の一文字の文字コードを実際に抽出し,VBAなどを使ってその文字コードの文字の置換を掛けてみるのでも良いかもしれません。
    • good
    • 0
この回答へのお礼

早速の御回答ありがとうございます。
shiftキーで選択し検索文字列にする案、確かにその通りですね。
実は、VBAで処理中にエラーとなり、原因を探ったら上記質問に行き着きました。なので後半の内容に興味があります。

code関数について調べました。
例えばアルファベットEの文字コードは code(E)=69なのだそうですね。code(right(A1))にて文字コードが判明した後、取り扱いはどうすればいいのでしょうか?数字で「69」と入力したら、もちろん駄目ですよね。

お礼日時:2014/01/24 21:14

問題の文字が実際に何の文字だったのか,手を動かして事実を確認してみてからのお話になると思いますが。

あるいは回答した,とりあえず簡易な方策で対処可能なのか。


>マクロでやりたい

では
application.clean(問題の文字列)
で処置できるか,こちらもまず実際に試してみて下さい。



>Eは39

VBAをやられてる方には釈迦に説法で大変恐縮ですが,VBAではchr(39)でEに戻します。
    • good
    • 0
この回答へのお礼

再度ありがとうございます。
VBAといってもコードを扱うのは初めてで何も分かりません。

お礼日時:2014/01/26 10:00

>置換操作でなぜ削除出来なかったのでしょうか?改行コードではないのか?とも疑ってます。


改行コードではないかも知れませんね。
目に見えない文字は文字コードで確認する必要があります。

=CODE(RIGHT(対象セル,1)) → 文字コード

>非常に小さいスペース?
文字コードが見つかれば次の式で制御コードを削除できます。

=SUBSTITUTE(対象セル,CHAR(文字コード),"")
    • good
    • 0
この回答へのお礼

ありがとうございます。
確認出来たら、substituteにて削除します。

お礼日時:2014/01/26 09:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!