重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

office365を使用しています。
Excelのvlookup関数で取得した改行のあるデータをAccessに取り込むと,改行部分が「_x000D_」という文字として表示されてしまい,改行もされておりません。

Accessに取り込んだときに適切に改行されるようにする方法があればご教示願います。

質問者からの補足コメント

  • Accessのクエリで以下のように設定すると,適切に改行され,かつ,_x000D_の文字列の表示されなくなりました。
    これで良かったのでしょうか?

    「Replace(Replace([[フィールド名],Chr(10),Chr(13) & Chr(10)),"_x000D_","")」

    No.2の回答に寄せられた補足コメントです。 補足日時:2025/02/21 18:58

A 回答 (3件)

補足拝見しました。

インポート側で解決されたようで良かったです
そのやり方ならば、文字列(文字データ)に_x000D_が使われてない限り有効な方法だと思います。


私も大変参考になりました。
    • good
    • 0

Vlookup関数が関係するのでしょうかね。



まずはVlookup関数が適用されている列をコピーして、隣の列でも新規シートでもいいので、「値としてをペースト」した上で、それに先のSUBSTITUTE関数を適用されてみてはどうでしょうか?

こうすることで、ルックアップから外れますので、変化があるかなと。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
しかし,値でコピペのような手間をかけない方法でお願いしたいのですが,何かないでしょうか?

お礼日時:2025/02/21 17:56

>Accessに取り込む



これは具体的にどのような操作をされるのでしょうか?
ACCESS側ではレコードとして扱うこととなるかと思いますが。

また、_x000D_ は vbLf (Chr(10))  レフトフィードを意味するようですが、Accessでは通常のものと同じく vbCrLf (Chr(13) & Chr(10))  改行してレフトフィード ですので、取り込む前にExcel側置換するようにされるとよいかなと思います。

やり方で簡単なのは該当列の右横に列を挿入して(ここではA列が該当列
、A1がタイトルA2に該当文字列あるパターン。)

セルB2(挿入した列)に
=SUBSTITUTE(A2, CHAR(10), CHAR(13) & CHAR(10))

として、それを該当列全てに下方コピーするとよいかと思います。

その結果をコピペするなり、別のタイトルをつけてインポートなりリンクするなどするとよいかと思います。

また、Access側では該当フィールドの型を「長いテキスト」にしておく方がトラブルが少ないと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そのようにしてExcel側で修正すると,修正前は_x000Dが改行箇所に一つだけ表示されていたのが,_x000D__x000D_と2つになってしまいます。
フィールドは長いテキストにしてあります。

どう修正すれば良いか,ご教示願います。

お礼日時:2025/02/21 17:29

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A