こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ExcelVBA: 5行ごとにテキストデータをINPUTしたい。。

Excel VBAで、
氏名データのみのデータファイルをOpenして、シートにInputで読み込もうとしますが、この読み込むときに、シートのA列に5行ごとに次々に読み込んでいきたいのですが、お教え下さい。
つまりA5に1番目のデータを、A10に2番目のデータをといった感じです。
だれか分かる方、お教え下さい。

投稿日時 - 2009-03-25 14:35:52

QNo.4825782

すぐに回答ほしいです

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

テキストデータの読み込み
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110.html
【中核となる記述はこれだけです。】を参照。
>GYO = GYO + 1
>Cells(GYO, 1).Value = strREC
が1行ずつ書き出している所なので、増分を+5とすれば5行ごとになります。

ご参考になれば。

投稿日時 - 2009-03-25 14:59:45

お礼

さっき出来ました。
当方も増分を+5にすればいいだけだと思い行っていましたが、なぜか出来なかったんです。。。
おそらくOpen ステートメントで、FreeFileのクローズでエラーがあった為、でしょうか。。
ありがとうございました。

投稿日時 - 2009-03-25 17:02:13

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

No1補足です。
各シート名も実際のシート名にしてください。
例では
B.xlsのシート名が「Sheet2」に、A.xlsのシート名が「Sheet1」になってますが、別に意図はありません^^;

投稿日時 - 2009-03-25 14:50:37

ANo.1

A.xls:データファイル B.xls:入力ファイル として

For n = 1 To 100
Workbooks("B.xls").Worksheets("Sheet2").Cells(n * 5, 1).Value = Workbooks("A.xls").Worksheets("Sheet1").Cells(n, 1)
Next

で良いんじゃないでしょうか?
Forの最終値「100」は実際にデータファイルにある行数を指定すれば良いと思います。
試してみてください。

投稿日時 - 2009-03-25 14:48:32

あなたにオススメの質問