• ベストアンサー

エクセルの改行マーク(?)の置換について

「改行の入ったデータ」を、 ファイルメーカー上から、をエクセルシートに貼り付けたのですが、 改行のあった部分に「・」の記号が入ってしまいました。 これをなくしたいと思って置換しようとしたのですが、 「・」では認識されないようで、置換ができませんでした…。 <ファイルメーカー>   12  34    ↓ <エクセル> 12・34 (⇒「・」をなくしたいです…) この「改行」を表す記号は、「・」とは違うモノなのでしょうか? また、この記号を置換する(なくす)には、どうしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ファイルメーカーのフィールド内改行のコードは0x0Bです。Excelでこれを表すと、char(11)なので、適当な列で =substitute(A1, char(11), "") の様にしてやると抹消出来ます。

airi-kun
質問者

お礼

おおっ!置換できました♪ 貴重なアドバイス、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (6)

回答No.7

ANo.6 です。 済みません。2行目の変数宣言が間違ってました。 Dim C As String を Dim C As Variant と直してください。 お手数かけて済みません。

airi-kun
質問者

お礼

わざわざありがとうございます。 おかげさまで、うまく行きました♪ >ASCIIコード 名前は聞いたことがあったのですが、意味はよくわかっていませんでした。 これから、勉強してみようと思います。

すると、全ての回答が全文表示されます。
回答No.6

とりあえず、制御コードを取り除くマクロを作ってみました。 ・を取り除きたいセルを範囲指定して、マクロを起動して下さい。 ただし、ASCIIコードの31以下をすべて消去するので、 任意に入れた改行(ALT+Enter)も消えてしまいますが(--;) Sub Clear() Dim S As String Dim C As String Dim I as Integer For Each C In Selection.Cells S = "" For I = 1 To Len(C.Value) If Asc(Mid(C.Value, I, 1)) > 31 Then S = S + Mid(C.Value, I, 1) End If Next C.Value = S Next End Sub

airi-kun
質問者

お礼

アドバイスありがとうございます。 早速試してみたのですが、 6行目の「C」のところで止まって、 「コンパイルエラー」と出てしまいました。 うーん。。何かやり方がまずかったのでしょうか…?

すると、全ての回答が全文表示されます。
  • hogehage
  • ベストアンサー率50% (54/107)
回答No.5

印刷できない文字を取り除くCLEAN()関数を使うとよいと思います。A1にデータがあるとして、 =CLEAN(A1) を隣のセルなどに入れます。 「・」が取れた結果が返されます。 この結果をコピーして、元のセルに値のみを貼り付けします。

airi-kun
質問者

お礼

おぉっ、できました♪ いろんなやり方があるんですね…。 すごく勉強になりました、ありがとうございました。

すると、全ての回答が全文表示されます。
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.4

改行コードを置換するには、置換のウインドウで 1. 検索する文字列に[Ctrl]+[J]キー。表示上は何も変化がありませんが大丈夫です。 2. 置換する文字列には何も入力しません。 以上の設定を行い、置換します。 >改行のあった部分に「・」の記号が入ってしまいました。 [セルの書式設定]で[折り返して表示]にチェックすると改行して表示されます。

airi-kun
質問者

お礼

アドバイスありがとうございます。 置換、やってみたのですが、 「一致するデータがありません」となって、置換できませんでした…。 No1さんもおっしゃっていますし、 きっと私のほうのやり方がまずいのでしょうね…。 うーん。。(^^;)

すると、全ての回答が全文表示されます。
  • WWolf
  • ベストアンサー率26% (51/192)
回答No.3

あまりスマートではないのですが、 12・34の・をB1セルにコピーして=code(B1)でコードを調べ、置き換えてみれば出来るとおもうんですが。

airi-kun
質問者

お礼

アドバイスありがとうございます。 むむ…試してみたのですが、「32」が表示されました。 そこで元のセルで「32」を置換したのですが、 なぜか置換できませんでした。 うーむ。。書式設定の問題でしょうか?

すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

改行は、 Ctrl+J (同時押し) です。

airi-kun
質問者

お礼

お返事ありがとうございます。 私の理解が足りないせいだとは思うのですが、 Ctrl+J(同時押し)では改行ができませんでした…。 エクセルでのことでしょうか? それともファイルメーカーなのでしょうか?? →エクセルでの改行は、 「Alt+Enter」だとばかり思っていたのですが…。うーん。

airi-kun
質問者

補足

失礼しました、検索BOX内に入れるのですね…。 でも、やっぱり置換できませんでした。 うーん。。なぜでしょう?

すると、全ての回答が全文表示されます。

専門家に質問してみよう