• ベストアンサー

テキストファイルのデータをエクセルへコピーのやり方

ja7awuの回答

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

データ並びが一定でなくても構わないようにしています。 テキスト何行を1行分にして読込むか、設定出来ます。(今は2行に設定) マクロを実行するとファイル名指定のダイアログがでますので、テキストファイルを 指定すると、アクティブシートにデータが読み込まれます。 宜しかったら詳しい手順を書きますのでテストしてみてください。 1.Alt + F11 で VBE(Visual Basic Editor)を開きます。 2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。 3.モジュールウィンドウに下記コードをコピーして貼り付けます。 4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を  「中」にして[OK]します。 6.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で  「テキスト複数行を1行で読込」を指定し、[実行]ボタンを押します。 Sub テキスト複数行を1行で読込() Dim FNum As Integer, R As Integer Dim Col As Integer Const RwSet As Integer = 2 '<-- 読取り行数単位指定 Dim N As Integer, Rw As Long Dim FileName, InData, Ary FileName = Application _ .GetOpenFilename("テキスト ファイル(*.csv;*.txt),*.csv;*.txt") If FileName = False Then Exit Sub FNum = FreeFile Open FileName For Input As FNum Col = 1: Rw = 1 Do Until EOF(FNum)   For R = 1 To RwSet     If EOF(FNum) Then Exit Do     Line Input #FNum, InData     Ary = Split(Trim(InData), " ")     For N = 0 To UBound(Ary)       Cells(Rw, Col).Value = Ary(N)       Col = Col + 1     Next N   Next R   Rw = Rw + 1   Col = 1 Loop Close #FNum End Sub

tadasi1971
質問者

お礼

回答ありがとうございます。 早速、指示されたとおりにやってみるとできました。 しかし、本番のケースはテキストファイルが職場にあるので、後日に結果を報告させてもらいます。本番の場合はもう少し複雑なデータですが・・・ とりいそぎお礼を申し上げます。

tadasi1971
質問者

補足

VBAはよくわからないのですが、 なんとかやりたいことができました! ありがとうございました。

関連するQ&A

  • excelのデータの移動?集約?をしたいです

    よろしくお願いします EXCEL2000を使用しています。OSはXPです。 データがランダムにA~O列 1~200行まであります この量は、その時その時変わるのですが だいだい、その範囲にあります そのランダムに入っているデータを空白のセルを除いて A列に並べたいのです 順番は1行目から横にあるデータを順番に下に並べ 次は2行目のデータで、その次は3行目。。。としたいです 例 A1 B1 C1 D1 E1 A2 C2 E2 A3 B3 D3 というデータを A1 B1 C1 D1 E1 A2 C2 E2 A3 B3 D3 というようにしたいのですが よろしくお願いします

  • エクセルで離れたセルを離れた場所へコピペするには?

    エクセルで 1行目のctrl+コピーで離れたセル(B1,D1,F1)を 3行目(B3,D3,F3)、4行目(B4,D4,F4)、6行目(B6,D6,F6)などに 貼り付けるにはどうすればよいでしょうか? ちなみに、A列、C列、E列には他の数値があるのでコピーしたくないのです。 どなたかよろしくお願いします。

  • テキストをExcel2000に貼り付け

    .txtを参照してファイル内容を、マクロで Excel2000に貼り付けたいと考えています。 先頭の1行は決まっていて2行目からが 対象になります(コロン区切りのファイルです) コロンは削除してA~Jまでの文字を ExcelのA~Jのセルに貼り付ける 例).txtの記述 START :A :B :C :D :E :F :G :H :I :J :A :B :C :D :E :F :G :H :I :J :A :B :C :D :E :F :G :H :I :J ExcelのA1セルから最大20000行まで対応したいです。 どうかご教授願います。

  • Excel VBAで列ごとのデータをテキストファイルへ書くには?

    エクセルのシート(たとえばSheet1)が以下のようになっているとします。 A B C D E F 1 商品A 11111111 あいうえお 3 1000 2 商品B 22222222 かくくけこ 1 2500 3 商品C 33333333 さしすせそ 2 3500 ・ ・ これを決まった列ごとにテキストファイル(固定ファイル名)に書き出すということは、エクセルのVBAで可能でしょうか? テキストファイルの内容は以下のようにしたいのです。 E列を数量として、その分だけのテキスト行を書き出したいのですが… <<bbb.txt>> 商品A 商品A 商品A 商品B 商品C 商品C ・ ・ <<ccc.txt>> 11111111 11111111 11111111 22222222 33333333 33333333 ・ ・ <<fff.txt>> 1000 1000 1000 2500 3500 3500 ・ ・ また、このようなことが参考になるHPがあればお教え願いたいのですが。 以上よろしくお願いします。

  • エクセルデータのカウント

    A1:E5にデータが入力してあります。(空白セルもあり) C列、D列、E列のどれか1つのセルにでもデータ(数値) が入っている行の数をカウントして、A6に表示する 方法を教えてください。 たとえばF列に、=COUNT(C1:E1)を計算する行を入れて、 A8で=COUNTIF(F1:F5,">=1")をすれば、できるのだと思うのですが、 そのために行を増やしたくないのです。

  • Excelでのコピー

    Excelで名前の名簿があるとします。 それをコピーして等間隔(2行おきなど)に貼り付けできますか? 例)名前はA1からA9までとします。   それを例えばB1、2行あけて、B4、という感じです。 ちょっと見づらいですが・・・   A  B 1 a  a 2 b 3 c 4 d  b 5 e 6 f 7 g  c 8 h 9 i 少ないデータであれば一個ずつやればいいんですが 大量のデータだとめんどくさいので、何か良いやり方があれば 教えてください。

  • テキストデータの並べ方を変える

    すみません、エクセル操作で困っております。 エクセルは全くの初心者です。 たとえばa,b,c,d,e,f,gと並んでいるtxtデータがあるのですが、 これをExcel2007で開くと a,b,c,d,e,f,gという感じで横方向のセルに従って開いてしまうのですが、 これを a b c d e f g という感じで縦に並べ替えて読み込ませる方法はありませんでしょうか?

  • エクセルで集計

    エクセルでの合計について教えていただきたいのです。 A1~A10000まで日付が、B1~B10000まで数値が入力されています。 B列の数値を50行ごとに合計し、C列に表示する方法。 現在は、sum関数で手作業です。 簡単に表示できる方法を教えてください。 また、C列に合計のある行をD列(D1・D2・D3・・・)、E列(E1・E2・E3・・・)、F列(F1・F2・F3・・・)に並べたいのです。(50行ごとに間引いて表示するような感じです) 現在は、=C50・=C100・=C150のように手作業です。 もっと多量のデータが入力されたシートもあります。また、100行ごと150行ごとなど合計行が違う場合もあります。 エクセル初心者です。 よろしくお願いいたします。

  • VBAでテキストファイルからデータを読み込む方法

    VBAでテキストファイルからデータを読み込む方法を探しています。 コンマ区切りのデータを、エクセルに書き込みたいです。 テキストファイルにはコンマ区切りで6個のデータを書き込んであります。 それを、セルD3からD7に書き込む方法を教えていただきたいです。よろしくお願いします。

  • <EXCELマクロ>テキストデータの貼り付け

    お世話になります。 テキストファイルのデータをEXCELシートに貼り付けるための VBAを教えて頂けないでしょうか。 具体的には下記をご参照願います。 下記「テキスト」に3つのテキストファイルが格納されています。 これの内容を、下記のように、EXCELシートに貼り付けたい と考えています。 以下、具体的説明 <フォルダの場所と名前> C:\テキスト <テキスト形式、TAB区切り> ファイル1  ファイル2  ファイル3 1番 鈴木  A社 米国  判定 ○ 2番 左藤  B社 タイ  判定 △ 3番 田中  C社 韓国  判定 × ・ ・ ・ <EXCELへの貼り付け>   A   B   C   D   E  F 1 1番 鈴木 A社 米国 判定 ○ 2 2番 左藤 B社 タイ 判定 △ 3 3番 田中 C社 韓国 判定 × ・ ・ ・ 注意)A~Fはセルの列、1~3はセルの行を意味します。 説明は以上です。 自分で勉強すべきことと反省していますが、 急いでおりますので、回答のほど宜しくお願い致します。 以上です。