• ベストアンサー

Excelシートをテキスト形式で保存するマクロを作成しているのですが、

Excelシートをテキスト形式で保存するマクロを作成しているのですが、 Excelでは1行なのに、出来上がったテキストでは途中で改行されてしまいます。 ExcelにはAからDEまでデータが入力されています。 途中で改行されてしまう原因は何なのでしょうか。 ご回答よろしくお願い致します。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

可能性としては以下など考えられます。 1)セル内で改行している箇所はありませんか?  その場合は、セル内改行文字列 vbLf あるいは Chr(10) を  事前に置換で消すなどすれば対応できるかと思います。 2)スペース区切りテキストの.prnファイルでの保存ではないですか?  その場合、1行あたりの文字数に制限があります。240文字です。  ↓こちらを参考に対応してください。  『Excel で書式付きテキスト (.prn) の文字数が 1 行あたり 240 文字に制限される』  http://support.microsoft.com/kb/249885/ja  またはスペース区切りじゃなくタブ区切りのテキスト形式にするとか、  固定長ファイルなら↓こちらを参考にするとか。  http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_055.html

nepinepi1014
質問者

お礼

ご回答ありがとうございます。 2)でご指摘頂いたとおりの状況でした。 項目の桁をゼロ埋めして揃えてからテキストで保存をするというマクロなので、 文字数は240文字を軽くオーバーしていました。 教えて頂いたURLを参考にさせて頂きます。 ありがとうございました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

>Excelシートをテキスト形式で保存するマクロを作成しているのですが、 マクロを作成しているといって、マクロを見せないなら、教えようがありませんから、マクロを書いてください、と言っていただいたほうが良いと思いますが。なお、私は出来る限り、他人のマクロは参照したりしません。 Sub Text_Output_Print()  Dim i As Long  Dim buf As String  Dim FNo As Integer  FNo = FreeFile  Open "TextTemp.txt" For Output As #FNo  For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row   If Cells(i, 1).Value <> "" Then    buf = Replace(Cells(i, 1).Value, vbLf, "")    Print #FNo, buf   End If  Next  Close #FNo End Sub

nepinepi1014
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

  • エクセルでテキスト形式の保存は?

    WIN98seでエクセル2000を使用しています。 エクセルでA1のセルに <input="1"> と入力して、テキスト形式で保存してテキストエディタで開くと "<input=""1"">" このように余計な""がついてきます。 入力した通りにテキスト形式で保存する方法はありますか?

  • エクセルのマクロでテキストファイルを生成するには?

    いつもお世話になっております。 マクロで エクセルのSheet1上のA1:A5のデータをコピーして 『吐き出し.txt』というテキストファイルを生成したいのです。 どのようなマクロを書けばよいかご教示ください。 通常の「txt形式で保存」ですと、 データ内に「,」があるため、 テキストファイルだとデータの両端に「"」がついてしまうため 不具合が発生するのです。 なんとかなりませんでしょうか。 よろしくお願いいたします。

  • エクセルでCSV形式で保存するマクロを作成したい。

    sheet1,sheet2,sheet3とあります。 そのうちsheet3だけを毎回「data.csv」のcsv形式で保存して画面を閉じ、 元のWorkbookは上書き保存しつつ画面は閉じないようなマクロを作成したいのですが。 よろしくお願いします。

  • csv形式のテキストファイルをexcelでCSV化するマクロについて

    今、ひとつのフォルダに大量にCSV形式で保存されているテキストファイルを excelのマクロを使って、ひとつのexcelにCSV形式(.xls)で保存するものを作成している のですが、今までマクロを使ったことがないため、まったく歯が立ちません。 もう少し詳しく書くと、テキストファイルの中身は、 01,54521,18:01:02,110230 というようになってます。 これを、excelのマクロを使い、カンマ区切りで取り込むような感じです。 すみませんが、回答お願いいたします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • エクセルのマクロでアクティブシートをhtml保存

    エクセルのマクロを使って、アクティブシートのみをhtml形式に保存したいと考えています。  ActiveSheet.SaveAs Filename:="ファイルパス", FileFormat:=xlHtml  でhtmlに保存するところまではできたのですが、すべてのシートが出力されてしまいます。 アクティブなシート、あるいは特定のシートのみをhtml形式で保存する方法があればご教示ください。

  • 1行単位のデータをテキストファイルに保存するマクロ

    エクセルに入力済みの連続したデータを1行単位で以下のような内容でテキストファイルを作成し、 かつテキストファイル名を、セルに入力されている文字を使って保存するマクロを作りたいのですが、 どのようにしたら良いのでしょうか?よろしくお願いします。 *エクセルシート (ファイル名:aaa.xls シート名:sheet1 エクセルシートがあるフォルダ名:yyy) _|A |B |C | 1|x |y |z | 2|a1|a2|a3| 3|b1|b2|b3| *テキストファイル(保存するフォルダ名:zzz) ---テキストファイルの内容(ファイル名:a1.txt) x a1 y a2 z a3 --- ---テキストファイルの内容(ファイル名:b1.txt) x b1 y b2 z b3 --- エクセルはExcel2000でWindows2000を使用しております。

  • エクセル 複数シートのデータを1シートにまとめるマクロ

    エクセルの複数シートにデータがあります。同じ条件の人のデータだけをひとつのシートにまとめたいのですが、マクロを教えていただけますでしょうか。それとも、マクロ以外に良い方法がありますか? エクセル初心者なので、あたりまえのことも知らないかもしれません。。。  【データ】 ●シート1からシート20まで、同じ配列でデータがあります。 ●1行目は見出しです。2行目から1人づつのデータです。(多くても65行までと思っています。) ●A列に到達度、B列に出欠をいれました。 ●C列からM列が氏名、課題、その他のデータです。 ●リストはシート21にあります。  【こんな作業でしょうか?】 ●シート1から20で A列が「C」または「D」ならば その行のA列からM列をコピーして シート21のA列からM列に形式を値にして張り付ける ●シート1から20で B列が「欠」ならば その行のA列からM列をコピーしてシート21のA列からM列に形式を値にして張り付ける (っというのが私の乏しい知識で考えた方法なのですが、これでは不具合がでますか? もちろん、この方法じゃなくもっといいのがあれば、それをやってみたいです。)

  • エクセル マクロ作成について

    エクセル マクロ作成について PC初心者です。よろしくお願いします。 あるデータをエクセルで作成しているのですが、そのデータを営業店舗別にシートを別けたいと思っております。 営業店舗が50以上あることから、マクロでできないでしょうか。 A列に営業店舗の店舗番号を入力してあります。 データ件数は全部で約50,000件です。 どのようにマクロを組めばよいでしょうか。 お詳しい方、よろしくお願いします。

  • ワード2003で作成した文章をテキスト形式で保存すると

    ワード文章をテキスト形式で保存し、その後テキストファイルで開いてみたのですが、所々1行における字数が異なった状態になってしまいます(1行40字のワード文章がテキスト形式で開くと所々1行41行になっていたり、42行になっていたりという状態です)。なお、テキスト形式でも1行40字をキープするためにファイルの変換のオプションで改行の挿入を選択しています。 ワード文章をテキスト形式で保存するとこうなってしまうものなのでしょうか。 ご存知の方は回答よろしくお願いします。

専門家に質問してみよう