• ベストアンサー

エクセルでCRLF(改行)コードが「・」で表示される

見積りデータ(アクセス)をエクセルにエクスポートして使用しているのですが、 その中のデータに改行コード(CRLF)が含まれている物があります。 エクスポートされたエクセルファイルを開くと パソコンによってCRLFが「・」で表示されたり、何も表示されなかったりします。  ※同じファイルを開いてもパソコンよって表示が異なっています。 CRLFがあっても何も表示しない様にしたいのですが 対応方法を教えてください。 上記の2台の差ですが 「・」表示されるPCのOSはWin2000で CRLFが何も表示されないPCのOSはXPくらいです。 共通部分は Office2000(EXCEL2000) PCはDELLのDimension4100 以上、お願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 「・」だけで、セル内改行はされないのでしょうか。 そうなら、LF(CHR(13))のみの改行だと思います。 Excelのセル内改行はCR(CHR(10))なので、CRLFがあれば、「・」があってしかもセル内改行するはずです。 どちらにしろ、Excelの標準機能では難しいので、VBA(マクロ)を使用するしかないと思います。 VBAでは、Replace関数を使用して、改行コードを""(長さ0の文字列)に置換します。 もしくは、Accessで改行コードを削除(クエリなど)してからエクスポートするかですね。 ちなみに私の環境はWin2000なので、XPについてはわかりません。

nek
質問者

補足

こんにちはmaruru01さん 回答ありがとうございます。 >「・」だけで、セル内改行はされないのでしょうか。 セル内で改行もされています。 こんな感じです。 ***正常なPC*** AAA BBB CCC ***「・」がつくPC*** AAA・ BBB・ CCC 最終的に行いたいことは、アクセスで入力されたデータに改行(CRLF)が あれば、エクセルの方でも「・」を表示せずに改行したいという事です。   自分の事例では、同じエクセルファイルを開いても 「・」が表示されるPCと表示されないPCが存在します。 全く同じファイルですからデータ内容は同じという事になります。 開く側のアプリケーションも同じEXCEL2000ですし 普通で考えれば、どのPCで開いても同じ状態になるはずだと思うのですが 実際は「・」が有ったり無かったり、異なる表示になってしまっています。 何かPCの設定やエクセルの設定で対応できると思うのですが 質問の書き方がわかりにくく、迷惑をかけました。 わかる範囲で教えてください。

その他の回答 (2)

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.3

No.2ですが、出来ましたでしょうか? まだ締め切られていませんでしたので、関数を作りました。 これをモジュールに入れておきます。 クエリーから使用できます。 クエリーの結果は 見た目 フィールド内での改行はありませんが、 これを コピーし エクセルへ 貼り付けると、 エクセルのセル内で改行しています。 モジュールへ登録する内容 Function test2(In_Data As String) As String test2 = Replace(In_Data, vbCrLf, Chr(10)) End Function この関数(test2)はクエリーから 普通の関数と同じに使用できます。

nek
質問者

お礼

お礼が遅くなってすみません。 問題はVBで解決しました。 やはり改行コードがACCESSとEXCELで 異なってるのが原因みたいです。 しかし、完全に納得できません。 同じエクセルファイルを開いても 「・」が表示されるPCとされないPCがあるのか? この点は、ACCESSとEXCELの改行コードが違うという 問題点とは関係ないですし 何にせよ、相変わらずMS的な仕様らしさをあらためて実感しました。 返答ありがとうございました。

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.2

アクセスの vbcrlfは chr(13) & chr(10) だと思います。 文字列内の chr(13) を削除します。 反対に、エクセルからアクセスに出力した時、 chr(10) が有れば、chr(13) を挿入します。

関連するQ&A