dポイントプレゼントキャンペーン実施中!

Excelからテキストへの変換に際して

一つのセルに改行を含むデータがあり、それをテキストに1行として
出力したいです。

何か良い方法はありますでしょうか?

「Excelからテキストへの変換に際して」の質問画像

A 回答 (5件)

(1)該当シートを表示させておく。


(2)F11を押してVBを開く。
(3)^Gを押してイミディエイトウィンドウを開く。
  あるいはメニューバーの「表示」から開く。
(4)イミディエイトウィンドウで以下の命令を
  入力して、行末でリターンキーを押す。
For Y=1 To Cells.SpecialCells(xlLastCell).Row:Cells(Y,1)=Replace(Cells(Y,1),vbLf,Space(1)):Next

(5)この作業後、テキストファイルに変換する。

実行した命令は改行を空白1文字に変換しています。
    • good
    • 0
この回答へのお礼

有難うございます。やりたいことが3秒で全て解決しました。

あの悩んだ数時間は何だったんだ?と言った感じです。時間があるときに、この1行の意味を調べて今後に生かせます。

お礼日時:2010/10/13 17:52

こちらでは、黒い画面側はほとんど見えませんから、どうするのかは分かりませんから想像の範囲ですが、



>\nを一括置換で削除するということでしょうか?
>そうすると、全てが一列になってしまうと思うのですが・・・。
それはやってみた上の話ですか?

カンマ区切りしているのだから、一列になるとは思えないのですが。
もし、うまく行かないのなら、それはエディタの問題だと思うのです。

こちらのエディタ(NotePad++ 日本語版)では、\nで、いわゆる、vbLF だけ落ちて、vbCRだけが残ります。それがダメなら、VBAで作ります。(NotePad++のインストールはややこしいので、お勧めするわけではありません)

"あいうえお
かきこけこ
さしすせそ",11.55,1.58
 ↓
NotePad++ で、LF (\n) を削除した結果(右端に、\r のみが残りますから、問題があるなら、これをもう一度、CRLF に置換します。"" が残りますから、それも削除します。)
"あいうえおかきこけこさしすせそ",11.55,1.58

-------
 以下のVBAの結果
  ↓
あいうえおかきこけこさしすせそ,11.55,1.58

Sub Test1()
 Dim fn As String
 Dim fNum As Integer, i As Long
 Dim rng As Range, r As Variant
 Dim TextLine As String
 Const DELIM As String = ","
 fn = Application.GetSaveAsFilename(, "CSVファイル,*.csv(*.csv)", , "出力")
 If VarType(fn) = vbBoolean Then Exit Sub
 Set rng = ActiveSheet.UsedRange
 fNum = FreeFile()
 Open fn For Output As #fNum
 Application.ScreenUpdating = False
 For Each r In rng.Rows
  For i = 1 To r.Columns.Count
   If TextLine = "" Then
    TextLine = Replace(r.Cells(1, i).Value, vbLf, "")
   Else
    TextLine = TextLine & DELIM & Replace(r.Cells(1, i).Value, vbLf, "")
   End If
  Next
  Print #fNum, TextLine
  TextLine = ""
 Next
 Application.ScreenUpdating = True
 Close #fNum
End Sub
    • good
    • 0
この回答へのお礼

ご対応、有難うございました。

お礼日時:2010/10/13 19:04

エクセルで置き換えしてからテキストに出力してはどうでしょう?


以下のサイトに詳しく載っています。

http://officetanaka.net/excel/function/tips/tips …

置き換え後の文字を半角ブランクにすれば
ご希望通りになります。
    • good
    • 0
この回答へのお礼

有難うございました。Clean関数というもので、セル内改行を削除できるのですね。

お礼日時:2010/10/14 01:34

Ctrl+Hで置換ダイアログを出して、検索する文字列の部分に、Ctrlキーを押しながらJキーを押し(見掛け上変化なし)、置換後の文字列には何も記入せず「すべて置換」して下さい。

    • good
    • 0

そのままcsvにして、csvの改行コードをエディタで削除する。

この回答への補足

ご回答有難うございます。
\nを一括置換で削除するということでしょうか?
そうすると、全てが一列になってしまうと思うのですが・・・。
Excelのセル中で改行されている改行のみを削除したいと考えております。

補足日時:2010/10/13 14:36
    • good
    • 0

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