• ベストアンサー

EXCELへの文字数の多いテキストの取り込み

テキストデータで70000文字で改行して、全部で40行あるデータがあります。これをEXCEL2010のシートに取り込みたいのですが、外部データの取り込みで行うと、1セルあたり32767 文字で溢れてしまいます。 A1=30000文字 B1=30000文字 C1=10000文字 改行 D1=30000文字 E1=30000文字 F1=10000文字 改行・・・・・ と取り込むにはどうしたらいいでしょうか。テキストデータはデスクトップにあります。 VBA等教えて下さい。よろしくお願いします。

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

Alt+F11でVBEを開き挿入→標準モジュールを挿入し 以下のVBAコードを貼り付けてください。 コードの上から5行目の「テキストファイルのパス」の部分に 該当のテキストファイルのファイルパスを指定してください。 ■補足 1行70000文字を3列のセルに分割して、40行分ですので120列あれば足りますが、 エクセルの取り扱える最大列数は16384列ですので、 今後、これを超えるデータを読み込んだ場合の対策処理は含めていません。 ■VBAコード Sub test()   Dim buf As String   Dim i As Integer   Dim j As Integer      Open "テキストファイルのパス" For Input As #1     Do Until EOF(1)       Line Input #1, buf       For i = 0 To Int(Len(buf) / 30000) - 1         j = j + 1         Cells(1, j) = Mid(buf, i * 30000 + 1, 30000)       Next i       If Len(buf) Mod 30000 > 0 Then         j = j + 1         Cells(1, j) = Right(buf, (Len(buf) Mod 30000))       End If     Loop   Close #1 End Sub

Sennheiser
質問者

お礼

取り込めました!ありがとうございます。

関連するQ&A

  • Excelへのテキストデータの取り込み

    VB2005でテキストファイルを作成し、それをExcelに取り込もうとしています。 123,234,120,200 200,300,400,500 111,222,333,444 のようなファイルを作成し、これをExcelに取り込むと 3行で取り込まれます。 次に 123,234,120,200 200,300,400,500 111,222,333,444 のように文字列の行間に改行文字(chr$(13))だけの行を作成し、 これを取り込もうとすると、 2行おきに読み込まれてしまいます。 メモ帳でファイルの中身を確認すると1行おきになっているのに、 Excelのデータ→外部データの取り込みでテキストデータウィザードを見ると すでに2行おきになっているのです。 1行おきに作成した文字列ファイルを1行おきに取り込むにはどうしたらいいのでしょうか?

  • アクセスの外部データ(エクセル)の取り込み。VBA

    アクセスの外部データ(エクセル)の取り込み。VBAの質問です。 アクセス2003 エクセル2003 不要な行・列がある場合の外部データ取り込みVBAを教えて下さい。 今は、エクセルで削除して取り込んでいます。 アクセスに「得意先リスト」というテーブルを作っています。 コード(テキスト型)主キー 名称(テキスト型) フリガナ(テキスト型) 郵便番号(テキスト型) 住所1(テキスト型) 住所2(テキスト型) TEL(テキスト型) FAX(テキスト型) エクセルブック[得意先リスト.xls] シートは「リスト形式」のみです。 1~4行は不要。 5行目が見出しです。 A~AZ列までデータがあります。 必要な列は、B・C・D・F・G・H・M・N列です。 セルの書式設定は「文字列」です。 [アクセス エクセル インポート 行 列 削除]などでサンプルVBAを探しましたが見つからなかったので質問させて頂きました。 申し訳ありませんが、教えて下さい。

  • マイクロソフトのエクセルでテキストをインポートする方法について教えてく

    マイクロソフトのエクセルでテキストをインポートする方法について教えてください。 ※1のようなテキストをエクセルにインポートしたいのですが、通常「データ>外部データの取り込み>テキストファイルのインポート」で行うと、改行のみの行も含めてテキストの1行が1つのセルに挿入されますよね? これを改行のみの行を区切りとして、そこまでの単位で1つのセルに挿入したいのです。 ※1でいえば、aaaaaとbbbbbが1つのセルの中で改行されるカタチで挿入され、その下のセルにcccccとdddddが同様に挿入される、といった具合です。 機能でもマクロでもソフトでもどんな方法でもいいので、良い方法があれば教えてもらえませんでしょうか? ※1 aaaaa bbbbb ccccc ddddd

  • テキストを必ず文字列で取り込みさせたい

    エクセルで、外部データの取り込みを行う時、 「1-1」のデータを標準で取り込んでしまうと、 「1月1日」と勝手に変換されてしまいます。 これは、取り込み過程で「文字列」指定すれば、 「1-1」のままで取り込まれる事は分かっています。 この外部データの取り込み作業を他人にお願いするとき、 何度説明しても「文字列」指定を漏らしてしまう事があり、 非常に困っております。 そこで、外部データの際に「文字列」をデフォルトにする方法が無いかと考え、 色々調べてみましたが、残念ながら見つかりませんでした。 もしご存知の方がいましたら、その方法を教えて下さい。 あるいは、別のいい手段があればそれを教えて下さい。 但し、エクセルの標準機能内かつVBA不可とします。 よろしくお願いします。

  • エクセルのCSV取り込み、加工について

    こんばんは。 エクセルファイルの特定のシート(仮にsheet1としましょう)に任意名のCSVファイル外部データの取り込み→テキストファイルウィザード取り込み (取り込む形はカンマ区切り、全ての列が文字列、一部の列を削除で) その後にsheet1のある列と同一ファイルの他のシート(sheet2としましょう)のある列をマッチングさせて一致する行だけsheet1一部の列のデータ(E、F、Gのデータとしましょう)からデータをsheet2のE、F、Gにコピーするようなマクロを作る場合どのようなマクロを作るのでしょうか? お願い致します。

  • エクセル2007でのデータ取込みについて

    現在、エクセルの2シートを1シートにまとめる為に下記の ような方法をとっています。 シート1に、シート2、3をまとめます。 シート1:まとま シート2:東京エリアデータ シート3:大阪エリアデータ データの入力フォーマーっとは各シートとも統一。 (1) データ外部取込み→シート2のデータを取り込む   (この際に行タイトルも取り込まれます) (2) データ外部取込み→シート3のデータを取り込む   (この際に行タイトルも取り込まれます) (2)の取込み時点では、行タイトルを取り込みたくない場合、 どうすれば良いでしょうか? エクセル2003では、(2)の時点でフィールド名を含むというチェック ボックスがあり、そのチェックを外せば、データのみ取込みできた のですが、2007には、そのチェックボックスがありません。 もちろん、別の良い方法があれば、それでも構わないので、 お教え頂ければと思います。 よろしくお願いします。

  • Excelへの大量の01文字列データの取込み

    テキストデータで0と1で表現した1行 数百万文字のデータがあります。 これをEXCEL2016のシートにコピー&ペーストで取り込むと、1セルあたり32765文字のデータで溢れてしまいます。 これを自分で指定した任意の文字数ずつ以下のように格納するにはどうしたら良いでしょうか? (以下は100文字指定の格納例) A1=100文字 A2=100文字 : : A100=100文字 : : エクセルVBAで処理できるとありがたいです。 以上、よろしくお願い致します。

  • エクセル関数の文字列操作で困ったことが

    競馬のオッズデータの取り込みを行っていますが、外部データをエクセルのシート(sheet2)に取り込んだ際、決まった場所に単勝と複勝のオッズデータが入っているのですが、(000022000336・・・のように6バイトを1頭分のオッズとして表示:上の例では馬番(1)のオッズが2.2倍、馬番(2)のオッズが33.6倍というように)17頭までは文字列でずらーっと表示されるのになぜか18頭のときだけ1.17E+105などというような表示になってしまいます。 このオッズデータからMID関数で6文字ずつ分割してそれぞれの馬番のセルに貼り付けていたので18頭の時はエラーになってしまいます。参考書はVBAでプログラムを組んでオッズの取り込みからセルへの貼り付けまでスムーズに行えているようですが、私がやってもVBAでうまくいかないためやむを得ずエクセル関数で処理した次第です。 この問題うまく解決できますか?

  • エクセルのセル内で改行した場合の行数および行ごとの文字数?

    エクセル2000です。 セルをいくつか結合させ、その中にAlt+Enterで改行した文字列があります。 全部で何行あり、各行は何文字かを調べる関数またはVBAはありますか?

  • Excel 文字数に制限あり??

    Excel 「CONCATENATE」文字数に制限あり?? 「B列からF列」までに入力された数字・文字・数式を、同じシート内の「H列」にて1行に表示させるため数式を入れていますが、文字数が255文字を(スペース含む)超えると【#VALUE!】(値のエラー)が出ます。 このエラーを回避し、正しく表示させる方法はありますでしょうか? ======================================================== *B列、D列、F列  数字、文字など、直接入力されています(空のセルあり) *C列、E列(参照先のセルが空白の場合あり)  =IF(ISERROR(INDIRECT("'シート名'!D2")),"",INDIRECT("'シート名'!D2")) *H列  =CONCATENATE(TEXT(B2,";;;@"),TEXT(C2,";;;@"),TEXT(D2,";;;@"),TEXT(E2,";;;@"),TEXT(F2,";;;@")) ======================================================== 分かりにくい説明ですみません。 よろしくお願いいたします。 環境 Win XP /Excel 2003

専門家に質問してみよう