• ベストアンサー

Excelのtxt読み込み

Excelでtxtを読み込んでいるのですが、 行数が256以上あるため全て読み込んでくれません。 そこで読み込むときに何行おきに読み込むような方法はありますでしょうか? また、Excel以外で読み込むことが出来るようなソフトはありますか?(Originのような) よろしくお願いします

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.7

こんにちは。 > 256列以上 Excel でも Access でもフィールド数(列数)が多いデータはパフォーマンス が悪くなります。また、現実的な目に見える問題として、多くのアプリで読み 込めないという問題がありますよね。 なるべくなら設計段階から見直した方が良いと思いますよ。 で本題ですが、VBA を使うのが簡単なのでは? > この結果の中で必要なデータは1列目、7列目、13列目と5列置きなので、 OpenText メソッドを使って、名前付き引数 FieldInfo に間引く列、読み込む 列という情報を入れた配列を渡せばよろしいかと。こんな感じで。 何区切りなのか本文に書かれてませんので、一応タブまたはカンマ区切りに してますが。 Sub Sample()   Dim fi       As XlColumnDataType   Dim nCol      As Long   Dim def_(1 To 360) As Variant      ' // 5行置きに読み込むように各列のデータ形式を示す配列を作成   ' // xlSkipColumn を指定するとスキップ列となる      For nCol = 1 To 360     If (nCol Mod 6) = 1 Then       fi = xlGeneralFormat     Else       fi = xlSkipColumn     End If     def_(nCol) = Array(nCol, fi)   Next   Workbooks.OpenText Filename:="C:\test.txt", _             Origin:=932, _             StartRow:=1, _             DataType:=xlDelimited, _             TextQualifier:=xlDoubleQuote, _             Comma:=True, _             Tab:=True, _             FieldInfo:=def_ End Sub

kikaisuga
質問者

お礼

ありがとうございます!! こんなことがしたかったのです。 とても助かりました

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

その他の回答 (7)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.8

#4です。 KenKenSPさん御提示の様な機能があるのですね。勉強になります。 折角作ったので、原始的なコードですがアップしておきます。テキストファイルへのADO接続もやってみましたが、案の定256番目のフィールドからは、SQLで抽出条件を与えるところでエラーになりました。 Sub test() Dim FSO, buf As String, oneLine As Variant Dim destRange As Range Dim i As Long Const delimiterChar As String = "," Set FSO = CreateObject("Scripting.FileSystemObject") Set destRange = Range("a1") With FSO.GetFile(ThisWorkbook.Path & "\" & "Sample.txt").OpenAsTextStream Do While Not .AtEndOfLine buf = .ReadLine oneLine = Split(buf, delimiterChar) For i = 1 To 360 Step 6 destRange.Offset(0, Int(i / 6)).Value = oneLine(i - 1) Next i Set destRange = destRange.Offset(1, 0) Loop .Close End With Set FSO = Nothing End Sub

kikaisuga
質問者

お礼

ありがとうございます この機会にVBを勉強したいと思います とても助かりました

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

>行数が256->列数256として エクセル2007の利用は出来ないのですか。質問では、エクセルのバージョンぐらい書くこと。 ファイルを作った人に、ファイルを、列を2グループに分けたデータを作ってこらえないのですか。普通は作るほうでエクセルで利用のことが念頭にあれば、256列を考慮すると思うが。 >txtを読み込んでいるのですが 拡張子はtxtでも、内容はCSVファイルなのかな。 でないと質問のようなことを考える場合は無い。A列だけに読み込まれるように思うが。 この辺もしっかり勉強して質問してほしい。 >何行おきに読み込む 何列おきに、の間違いとして プログラムが組めれば簡単です。操作ではまず不可能と思います。 >、Excel以外で読み込むことが出来るようなソフトはありますか VBAやVBが少しできれば、簡単なプログラムで出来るので、 また特殊な用途なので、市販しても、マーケットが無い・売れない、フリーでも世間に出すのにはばかられ内容である、と思います。 まあフリーソフトの紹介も種類も色々あるので探すほか無いでしょう。 データ数が少なければ(1000ぐらい以下?)、人手で所定のところへ改行を入れて、別名保存して、エクセルに読みこませ、エクセルで1行おきのシートを作ることは出来るかもしれないと推測する。 しかし分かれると致命的に不便・処理が難しいこともありえる。 本質問のことが実現しても、その先は、不便だったり・処理が難しいことはないよそうなのかな。

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

  >256列以上の間違いでした。 これなら簡単ですね 読み込む時のウイザードで区切らずに1行を1セルに入れれば全てを読み込めます。 後は縦横を入れ替えて加工することもできます。  

全文を見る
すると、全ての回答が全文表示されます。
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

調べている内に#3さんとかぶってしまいまいた。 参考までに、1セルに表示できる、入れられる文字数の制限です。 http://support.microsoft.com/kb/211580/ja さて、本題ですが、行数が255行以下なら、配列に読み込んで、縦横逆にシートに貼り付ける手があるかもしれません。 行数が多い場合、ACCESSも255フィールドが限界なので、SQL Server(最大1024フィールド)等でも使うしか無いのでは。 いずれにしても読み込んだデータを、どうやって処理したいかで、取るべき方法は変わって来ると思いますので、そこを明確にして、質問されては如何でしょうか。

kikaisuga
質問者

お礼

ありがとうございます 500行×360列の解析結果がtxtで出てくるプログラムをまわしており、 その結果をグラフにしたいのですが、皆さんがおっしゃるとおり読み込めません。 この結果の中で必要なデータは1列目、7列目、13列目と5列置きなので、 5列置きごとに全ての結果を読み込めると助かるのです。

全文を見る
すると、全ての回答が全文表示されます。
  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.3

こんにちは エクセルの行数の制限は ワークシートのサイズが 65,536 行、256 列(1,048,576 行、16,384 列 ---2007) なので、別の要因ですね。 それとも一つのセルに入れようとしているのですか? では。

kikaisuga
質問者

お礼

皆さん、ご回答ありがとうございます 256行ではなくて、256列以上の間違いでした。 すいません

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

  Excel2000で試しましたが1行130文字×3,000行でも問題なく読み込めましたよ。 バージョンとか総文字数とかもう少し情報を書いてください。    

全文を見る
すると、全ての回答が全文表示されます。
  • oyaoya65
  • ベストアンサー率48% (846/1728)
回答No.1

テキストファイルを開いておいて EXCELの貼り付けるセルも用意しておいて 複数行ずつ、数回に分けてコピペ(コピー・アンド・ペースト)で 貼り付けていったらどうでしょうか?

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

関連するQ&A

  • VBA 大きなtxtテキストファイルを開く方法

    VBA excelで大きなtxtファイルを開きたいのです!65500行(excelの行のMax)以上の場合sheetを分けてtxtのデータを全部開く場合にどうしたら良いのかどたなかアドバイスをお願いします。txtファイルを開くプログラムは作成した事があるのですが今回必要としている作業はほぼ65500行以上あるデータです。txtファイル名はその都度違います。データ量も一定ではありません。(行数は多いのですが、列は5列ほどのデータです)現在はマニュアルでエクセルにコピペしている状態です。ヒントを頂ければ幸いです。よろしくお願いします。

  • エクセルの各シートに複数のtxtファイルを取り込む

    Excel2013を用いたデータ整理をしているのですが,複数のファイルを扱う上でマクロを用いた効率化をしたいと思い,質問させていただきました. いま,Folder1 というフォルダに,text1 から text40 までの 40個のtxtファイルがあります. これらのファイルを,エクセル上であらかじめ作成してある Sheet1 から Sheet40 にそれぞれ貼り付けたいと考えています. txtファイルは,4列で構成されており,タブでそれぞれ区切られています. 行数は20,481行です. txtの中には,0 の値が入った箇所もあるため,その情報が消えないで貼り付けられると望ましいです. また,タブのところでしっかり区切られ,違うセルに貼り付けられると,ありがたいです. 質問は以上です. お手数ですが,よろしくお願いします.

  • エクセルからtxtファイルへの変換

    宜しくお願いします。 txtファイルがあります。 中には、14桁の数字があります。 データが膨大なので編集しやすいようにエクセルで読み込みます。 この数字以外の一部を変更します。(1行削除または1列全部同じデータに修正等) 最後にTAB区切りのtxtファイルで保存すると、この14桁の数字が丸められてしまいます。(例56000500000058⇒56000000000000) 書式の表示形式を文字列にするのはなぜか設定してからセルをダブルクリックしないと元の数字列にならないので5000行もあるデータの編集等やってられません。 何かよい方法ありませんか。 要は、5000行もあるtxtファイルの編集を簡単に行ないたいのです。 たとえば、ある列の5000行をいっせいに0から1に変更したいとか。 簡単そうでなかなか思い浮かびません。

  • EXCELからTXTは開けますでしょうか?

    EXCELのVBAで EXCELファイルを開くときには以下のように記載すれば、ファイルを 開けますが、 (1)Workbooks.Open Filename:="????.xls" txtやWord等をEXCELのVBAで開きたいのです。 (1)まず、EXCEL VBAで他のファイル(txtやWord等)を開くことはできるのでしょうか? (2)(開けるとすると)どのように記載したら良いでしょうか? (3)Openメソッド以外(閉じる、保存など)も使用可能でしょうか? EXCEL2000を使っています。 参考資料を調べる前に質問をしてしまって恐縮ですが、よろしくお願いいたします。

  • txtをエクセルなどに貼り付けて・・・

    皆さん宜しくお願いします。 txtで出来たデータがありますが、改行、他体裁を整えるのにエクセルを使用したいのです。 エクセルのシートに写す方法を教えて下さい。

  • Excelで65536行以上の.txtを開く

    エクセルにおいて65536行以上あるテキストファイルを開く方法は無いのでしょうか? 通常だと「表示の範囲を超えている」という趣旨のメッセージが表示され、規定行以上は表示されません。 例えばこれを規定行を超えた場合はSheet2等に分けて表示させる方法等は無いのでしょうか? なぜ、そんな長い行を表示させたいのかと言うと、計測機の測定値がダンプされており、それをエクセルで開いて統計を取りたいのです。しかし、1ヶ月の記録がテキストファイルで約7000行となります。 これだと9か月分しかエクセル表示出来ません。 現在は計測機に添付されていたソフトを使っていますが、これの1回の変換限界は200行しか有りません。従って1ヶ月だけでも35回も操作を繰り返してエクセルに変換しています。 この手間を減らし、なおかつ長期分の統計処理をやりたいのです。 なにかいい方法は無いでしょうか? なお、65536行以下の自作変換用マクロは作成済みで、添付ソフトのように変換限界もなく問題なく動作しています。

  • エクセルの行を65536以上に増やす方法はないでしょうか

    エクセルの行は65536までしかありません。マクロで組んだ業務ソフトを使っていますが、処理データが多くなると最終行まで使ってしまって、エラーで止まってしまいます。行数を2~3倍に増やす方法はないでしょうか。

  • *.txtをexcelで読込、""内の改行で…

    年賀状の印刷のためにoutlookの顧客データを利用しています。 outlookでデータをエクスポートで*.txtファイルへ出力し、これをexcelへインポートして整理してから、accessへ渡し、年賀状宛名印刷しています。 通常、郵便番号、住所、氏名などであれば問題ないのですが、outlookのメモ欄にいろいろな過去のデータも記してあり、これに改行記号が含まれています。 今回、このメモも一緒にエクスポートし、顧客リストも合せて作成しようと思いました。 しかし、excelで*.txtファイルを読み込んだ時に、どうも、このメモ欄の中の改行記号で、excelの行が変わってしまうようです。 (秀丸で見たところ、"メモ欄内のデータ"となっているが、""内に改行記号があると、行が変わってしまう) 顧客データが沢山になり、いちいちこれを整えるのも面倒ですが、何か良い方法はあるのでしょうか。

  • テキストファイル(.txt)のdataを間引き。

    テキストファイル(.txt)が100000行位あり、 それをエクセル(エクセル2000)に変換したいのですが、 65536行までした表示出来ません。(後は切られました) テキストファイルの状態で、1/10位に平均的に間引きたいのですが、 その様な、エディタの様なフリーソフトはないでしょうか? 宜しくお願い致します。

  • Excel 2007で6万5536行以上のデータ

    Excel 2007では、最大列数が従来の256列から1万6384列に,最大行数が従来の6万5536行から104万8576行に増えたと聞きました。私のExcelは、2007ですが、最大行数は6万5536行のままです。 どうしたら、6万5536行以上のデータを扱えるようになるのでしょうか? 何らかの設定変更で可能になるのでしょうか?

このQ&Aのポイント
  • タイトルのソフトを使って、CDのレーベル印刷ができません。
  • ソフトの印刷設定の用紙の選択に「12cmディスク」がありません。
  • ブラザーのQ&Aにある、ドライバーの再インストールは実施しましたが、状況は変わりません。アドバイス願います。
回答を見る

専門家に質問してみよう