• 締切済み
  • 困ってます

csvのデーターファイルから任意の行をエクセルファイルへ入力するエクセ

csvのデーターファイルから任意の行をエクセルファイルへ入力するエクセルVBA が上手くできません。 6列2000行のcsvデーターのテキストファイルの作成は、色々な参考書があり成功しました。次に このcsvのデーターファイルから任意の複数行をシート4などの任意のワークシートの任意の場所に60行程度をインポートして、この60行の数値データーを加工しようとしていますが、入力が上手くできません。数値データーの加工のプログラムは一応できているため、その様式にあわせて、所定の場所にデーターを入れる必要が有ります。 1列目には日付(シリアルの数値にしています)、その他はすべて数値(LONG型)です。エクセルは2003を使用しています。 VBAの初心者です。宜しくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数632
  • ありがとう数8

みんなの回答

  • 回答No.2
  • nagare
  • ベストアンサー率33% (280/831)

>何故だか分かりませんが、X(1)とsaisyuubiを直接比較しますと、動きませんでした。 おそらくお互いの変数の型が違うためと思います Dim X(1 To 5) As Variant saisyuubiはInteger? X(1)を一旦saisyuubiと同じ型の変数の入れて比較すればいけると思います

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • CSVファイルの取り込みについて

    CSV取り込み方法について 教えていただきたくお願いいたします。 エクセルのマクロ・VBAの組み方について デスクトップ上の000という名前のCSVファイルを、作業しているエクセルファイルのLoadという名前のシートに貼り付けたいと思っています。 CSVファイルはエクセルで開くと1行に11列の項目が展開されています。 貼り付ける項目はこのようになります。 (CSV) →(エクセルのLoadシート) 1列目(A行)→B行へ 2列目   →C行へ 3列目   →D行へ 4列目   →E行へ 5列目   →F行へ 9列目   →G行へ 10列目  →H行へ 11列目  →I行へ (6.7.8列目は使いません) 最後にLoadのシートのA行に”=B&E”とい式を入力したいと思っています。 まだ初心者なので勉強中なのですが、仕事上急遽必要になりましたのでお願いいたします。

  • Excelで、任意のCSVファイルを…

    Excelで、任意のCSVファイルを、特定のシートに丸々貼り付ける、というような事をボタンひとつで処理したいのですが、初心者なものでこまっています。 教えてください。

  • excel vbaで複数のcsvファイルの読み込み

    100シート分のcsvファイルのデーターを一つずつ読み込んでexcelにコピーして使用してますが莫大な時間がかかって困ってます。 vbaを使用して作業を簡素化出来る事は出来ないでしょうか? ------------------------------------------ ※ csvの概要 excelで1枚のcsvファイルを開くとA列の11行目から65536行まで数値データがあります。 ※ vbaできたらよいなと思う仕様 そこで、複数のcsvファイルを選択して読み込むとCSV_データと言うSeetのA列の10行目から1枚目のcsvファイル、B列の10行目から2枚目のcsvファイルと言う風に選択した分のcsvを列に続けて数値データを貼り付けしてくれるvbaをご教授していただけると大変助かります。 不躾で申し訳ございませんが宜しくお願い致します。 excel2003 ------------------------------------------

  • 回答No.1
  • nagare
  • ベストアンサー率33% (280/831)

1行目から1行単位で読み込み、該当行をシートに出力 となります (指定行の読み込みはできません) このサンプルソースの"変数 lngREC"で制御すればできます http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_020.html

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_020.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速の返信有難う御座います。 次のように書いて無事プログラムが始動しました。 GYO = 2 ' ファイルのEOF(End of File)まで繰り返す Do Until EOF(intFF) ' レコードを読み込む Input #intFF, X(1), X(2), X(3), X(4), X(5), X(6) ' 行を加算しA~F列にレコード内容を表示(先頭は2行目) Range(Cells(GYO, 1), Cells(GYO, 6)).Value = X ' 配列渡し If Cells(GYO, 1) >= saisyuubi Then GYO = GYO + 1 If GYO > 56 Then Exit Do End If Loop ' 指定ファイルをCLOSE Close #intFF 何故だか分かりませんが、X(1)とsaisyuubiを直接比較しますと、動きませんでした。それで 一度エクセルシートに書き出して、それを比較する事で動き出しました。 X(1)の状態で比較できたりすると書き出す手間が省けて良いのですが、それは無理なのでしょう。 有難う御座いました。

関連するQ&A

  • Excel:任意の列だけCSV形式で出力したい。

    Excel(Ver2002)で任意の列(1列のみ)内の任意の行数(例えばA-10からA-99まで)だけCSV形式で出力したいのですが、どうすればよいでしょうか? マクロやVBAなどの特殊なプログラムは使用したくありません。 方法をご存知の方、おられましたらその方法又は方法が詳細に記載されているホームページのURLをお教え下さい。 よろしくお願いします。

  • Excelシートを分割してcsvに出力するVBA

    すいませんが、ご教示願います。 パソコンExcelのVBAです。 Excelファイルシートの24,000行あるデータを、 任意に選択した範囲(例えば2行目から3,000行目)をcsvデータに出力する VBA構文が知りたいです。 どなたかおわかりになりますでしょうか。

  • エクセルの任意のシートをcsv出力するVBScript

    c:\a01.xls という名前のエクセルファイルがあり、sheet1、sheet2、sheet3 というシートの構成とします。それぞれのシートには何件かの入力があるとします。 この エクセルファイルから Sheet2 の シートのデータを c:\csv01.csv にCSV出力するには どのような test.vbs を作成したらよいのでしょうか? 教えてください。

  • エクセル マクロでのエクセルファイル取込について

    エクセルで別のエクセルファイルをマクロで取込み、取込したデータを自動で任意の場所にデータが入力されるようなものを作りたいと考えています。 csvデータの取込は作ることが出来たのですが、エクセルファイルをcsvデータのように取込することは出来ないでしょうか? 出来ないとしたら、取込したいエクセルファイルを一度csvで保存してからcsvとして取込するというやり方で対応するしかないでしょうか? 出来れば、取込したいエクセルファイルのシートが複数にわかれていて、全シートの情報を取込したいと考えているので、エクセルのままで全シート取り込めれば・・と思います。 何か上記の方法でなくとも、最善の方法(一番工数が少なく済む方法)があれば教えていただきたいです。 よろしくお願いします。

  • EXCELでCSVファイルの読込み

    VBA超初心者でとても困っています。 仕事でEXCELのVBAを使って 現在開いているシートの中に 1つのCSVファイルからデータを読み込むのですが CSVデータの2行目をEXCELのC2へ。 4~10行目までを、EXCELのB5~B14へ マクロを使い、ボタン一つで自動入力させたいのです・・・。 Line Input も、やり方が悪いのかうまくいきません。 ヒントとなるやり方があればぜひ教えてください。

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • EXCEL 入力された数値を別シートから検索したい

    EXCELで、以下のようなデータシートを作成しています。   A   B   C   D   E 1 あ  10 2 い  20 3 う  30 4 え  40 5 お  50 別シートのA1に「30」と入力したら、 B1に「B3」とデータシートの「30」が入力されている セルのアドレスを表示したいのです。 もしくは行番号だけでもいいのですが、 このような場合、どの関数を使用すればよろしいのでしょうか? VBAは避けたいです。 よろしくお願いします。

  • エクセルVBAで、行削除⇒別シートに自動入力をしたい

    いつもお世話になります。よろしくご指導お願いします。 VBA初心者です。最近随分皆様に助けていただいています。尚、業務の関係でお助けください。 エクセルで名簿形式のデータベースシートがあります。 (山田太郎 ○○市○○町 911-1234 ・・・) 例えば、この山田さんが解約したり死亡されたりすると「行削除」をします。そのとき、別シート(シート名「解約者台帳」)に自動的に削除した行の全データをもっていきたいのです。 ★解約者台帳のフィールドは、元シートと基本的に同じですが、A~AG列のデータが必要。AH列以降のデータは不要です。 解約者台帳に追加していく(新しい行=何も入力されていない行への自動入力)等のVBAのイメージを含めて、私の力ではやはりさっぱりです。どうかまたまたお助けください。お待ちしています。

  • CSVファイルをEXCELで編集する場合について

    こんにちは。カテゴリ違いかもしれませんが、教えてください。EXCELのマクロやVBAについては全くの初心者なのですが、不特定の名称のCSVファイルをEXCELで表示・編集した場合、マクロ・VBAを自動で起動させて入力規制や入力チェックは行えるものでしょうか?あるセルの内容をチェックする場合、VBAだとシート名を指定しなくてはならない印象を受けましたが、この指定が不特定であることは可能でしょうか?現状ではVBAの扱い方からのスタートになっている段階なので、このような質問になってしまっています。よろしくお願いします。

  • Excelで複数のCSVファイルを、セル・行を問わずに比較する方法を教えてください

    Excelで、複数のファイルを比較し、差異を調べる方法を探しています。 使用しているExcelは2000です。 ・最新データファイル.csv ・旧データファイル.csv ・リスト1.csv ・リスト2.csv ・リスト3.csv  (……リストファイルは複数存在。今後も増える予定) リストファイルをひとつにまとめたものが、旧データファイルです。 それをシステムに登録し、自動的に追加削除が加わり、必要な時にダウンロードしたものが最新データファイルとなります。 データファイルは一括されてしまいますので、新しく追加されたものだけ、削除されたリストだけという、データを指定してダウンロードすることはできません。 各ファイルの列はほぼ同じデータが並びますが、行に関しては、削除された場合自動的につまるため、シートとシートを行で比較して差異を調べるという方法では対応できませんでした。 追加・削除されたものを把握し、それがどのリストファイルに含まれていたかをできるだけ簡単に知る方法をご存知の方がいたら、教えてください。 また、これでは何をしたいのかわからないという場合は、必要な項目を教えてください。追記したいと思います。 よろしくお願いいたします。