• 締切済み

同じフォルダの全CSVから特定列の情報取得したい

Prome_Linの回答

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.1

1月.CSV 5.76   1.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 2月.CSV 5.76   2.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 3月.CSV 5.76   3.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 4月.CSV 5.76   4.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 5月.CSV 5.76   5.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 6月.CSV 5.76   6.21    3.25 5.36   5.05    1.25 5.21   4.06    2.28 5.32   3.25    4.25 4.21   2.81    7.65 というデータがDドライブの「Data」フォルダにあるとして、 Excelのシートの方は、 ID  1月  2月  3月  4月  5月  6月 1 2 3 4 5 6 となっている場合、 Sub OkWave() Dim i, j As Integer Dim f, d As String Dim m As Variant For i = 1 To 6   F = CStr(i) & "月.csv"   Open "D:\Data\" & f For Input As #1     For j = 1 To 3       Line Input #1, d       m = Split(d, vbTab)       Cells(j + 1, i + 1).Value = m(1)     Next j   Close #1 Next i End Sub で、 ID  1月  2月  3月  4月  5月  6月 1  1.21  2.21  3.21  4.21  5.21  6.21 2  5.05  5.05  5.05  5.05  5.05  5.05 3  4.06  4.06  4.06  4.06  4.06  4.06 4 5 6 となりました。 美しいプログラムでなくてすみません。

ExcelMaster0352
質問者

お礼

ありがとうございます おかげさまで解決することができました。 あと、気づくのが遅くなってしまいすいませんでした

関連するQ&A

  • 16384列を超えるCSVファイルについて

    xcelのVBAマクロ初心者のため、ぜひお知恵をお貸しください。 16384列をこえ、Excel上で全てのデータが参照できないCSVファイルがあり、(行は千程度) 一行目は文字列でかかれています。 例: a b C(以降は二万件) 1 ¥イチゴ¥トチオトメ ¥米¥ササニシキ 2 100 200 3 200 500 (4以降は1000行ほど) 1行目の文字列データを識別して別シートに一覧を表示するマクロを作成したいのですが、 (たとえば、¥米のグループのみを別シートに一覧表示する) こちらのマクロを作成する際、どういったやり方で行えばいいか全く思い付きません。 まず、この表示できないCSVファイルをどのようにすればうまくいくのでしょうか? 色々かんがえたのですが、まず、テキスト化させると、一行目、二行目がまとまってしまい、識別することができません。 表示可能な列数に分割することや、表示が可能なワードやアクセスにインポートする等はできるのでしょうか。 セキュリティのため、フリーソフトの類いは使えない状態です。 Excelは2016です。よろしくお願いします。

  • CSVを特定の列だけ抽出してエクセルへ変換したい

    図々しい質問で本当に申し訳ありません。当方VBAの初心者というか、ほぼ何もわかっていません。本来ならばきちんと自分で勉強し地道に解決すべきであるのは重々承知しているのですが、どうしても来週必要になるので無礼は承知で質問させていただきます。 20列、長くても200行程のCSVファイルから特定の5列程のデータだけを抜き出し、エクセルに変換し、CSVと同じフォルダに格納したいと思っております。(エクセルのファイル名はCSVと同じで構いません) どのようなコードを書けばよいのか、ネットで似たような質問を拝見し自分なりに調べて書いてみたのですが、全く上手くいきません。 厚かましいお願いで本当に、情けなく、お怒りを買ってしまうかもしれませんが、「このコードをそのまま貼り付けたら動くよ」といった感じでお教えいただけませんでしょうか・・・。 使うバージョンはエクセル2013です。 本当にすみません。 何卒お願いいたいます。

  • excelのマクロでファイル一覧取得,グラフ作成

    以下のような作業をするために,EXCELのマクロを組もうと考えています. 指定したフォルダ以下のCSVファイルを取得(サブフォルダも含む)  ↓ 見つけたCSVファイルをエクセルで開き,値が含まれている範囲を選択してグラフを作成  ↓ "*.xls"として保存 エクセルのマクロは初めてなので,どうコーディングすればいいか全くわからず困っています. どなたかご教示くだされば幸いです. よろしくお願いいたします.

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

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

  • エクセルVBAでCSVファイルから取り込みたいのですが・・・

    CSVファイルのデータを取り込むコードを教えていただけないでしょうか。 「共有フォルダ」の中に「作業用.xls」と「090820.csv」があります。csvファイルは日によって名前が変わりますが、必ず一つしか入れないことにしています。 CSVファイルの1行目は見出しです。2行目以降がデータになっています。 A2からI列最終行を「作業用.xls」のsheet1のA6にコピー(取り込み)したいのですが、よろしくお願いします。

  • VBAを使い、同一フォルダにあるファイルの特定のシートの情報を取得したい

    はじめまして。 書籍や過去の質問等を調べましたが、類似するものを見つけられなかったため質問させていただきます。 Xというエクセルファイルで、Xと同一フォルダ内にある、ファイル名に特定の文字列(例えば「月報」)を含んだ全てのエクセルファイルの、特定の文字列(例えば「○年○月」)を含んだ全シートの、一定のセル範囲をひとつのシートにまとめたいと思っています。 X内のコマンドボタンで動かす予定ですが、複数のボタンになると自分では思っています(ボタンAでファイル名の取得、ボタンBでシートの取得、ボタンCでセルに貼り付け、みたいな感じで。ボタンの数は特に制限はないです) 要点としては a, 定定の文字列を含んだファイル名の取得 b, aで取得したファイル内の特定の文字列を含んだ全てのシート内の一定のセル範囲の取得(シートの数はファイルによる。必ずしも1つというわけではない。) c. bで取得した一定のセル範囲のデータを、1つのシートにまとめる。 あとはこれらのデータをtxtやcsvなどに出力できるようにするつもりです。 私がやってできたのは、同一フォルダ内にあるファイル名に特定の文字列を含むファイルの全てのファイル名を指定したセルに吐き出すことしかできませんでした。 なんか、ややこしい表現かもしれませんが、ご指導お願いします。 環境はxp、エクセル2003です。 よろしくお願いします。

  • vbsで、フォルダ内にあるcsvファイル全てを開き、マクロを起動させた

    vbsで、フォルダ内にあるcsvファイル全てを開き、マクロを起動させたい。 こんにちは。 お世話になっております。 さて、最初はバッチでどうにかならないかと思っていましたが、下記vbsソースを見つけ、 早速チャレンジしたのですが、ファイルが開くところまではうまく行きますが、「マクロ Macro1がありません」というメッセージが出てしまい、マクロが実行されません。 手動でマクロを実行しようとするときに出てくるマクロ一覧には、PERSONAL.XLS:Macro1と、表示されております。 マクロの保存先をまちがえているのでしょうか? また、あるフォルダのcsvファイル全てに対して1つのvbsキックで処理が行なわれるようにするには、どの様にすればいいでしょうか? よろしくお願いします。 ----------------------------------------------------------------------- Dim obj Set obj = WScript.CreateObject("Excel.Application") obj.Visible = True obj.Workbooks.Open "C:\Documents and Settings\Administrator\My Documents\001.xls" obj.Application.Run "Macro1"

  • エクセルマクロデーター取得の仕方

    エクセルマクロデーター取得の仕方 ホルダーexcell10の中に1~500.csvのファイルが500枚入ってます。 Application.Workbooks("excl10.xls").Activate Windows("1.csv").Activate とするとインデックスが有効範囲に有りません。とでます。1.csvをマウスでアクティブにしておくと、その下は動きます。次の2.csvになると又同じです。そこでcsvシートを10枚ずつActivateにして何回も繰り返してます。なんとか1行目に適切な呼び出し方法を教えてください。

  • マクロでのcsv読み込みについて

    エクセルのマクロにてcsvファイル(カンマ区切り)のデータを読み込むマクロを制作しているのですが、そのcsvファイルが1行めを2行目がデータ本体ではない為カンマの数が違い、openを使って読み込みを行うとうまくいきません。何かいい方法はないでしょうが。よろしくお願いいたします。

  • 同一フォルダ内の複数ブックの特定の行を抽出し一覧

    あるフォルダにCSVファイルをエクセルに変換したファイルが大量にあります(60ファイルほど)。 ファイルを開くと同一形式で1行目には項目が入っており、2行目以下にデータが入っています。 マクロを実行することで、特定の列に数値が入力されている行だけを抽出し、一欄表の形に したいと思います。 イメージは次のとおりで、例はD列に入っているパターンです。 出来ればメッセージボックスで列を指定できれば夢のようです。 [あるエクセルファイル]      A     B     C     D 1   100     1      2   100     1     1 3   100     1     2 4   100     1     3   300 [別のエクセルファイル]      A     B     C     D 1   200     1      2   200     1     1 3   200     1     2 4   200     1     3   200 マクロを実行するとメッセージボックスが出てきて、例えば4列目とかD列とか 指定をすると次のとおり一覧表ができる。      A     B     C     D 1   100     1     3   300 2   200     1     3   200 初心者でどうにもならず、お力を借りるしだいです。 どうぞよろしくお願いいたします。