• 締切済み

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

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

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>dows("1.csv").Activate Activateというのは、開いているウィンドウをアクティブ(選択)にするという意味です。 開いていないファイルに対して実行してもエラーになるのが当然のことです。 >csvシートを10枚ずつActivateにして Activateにできるウィンドウは一つだけです。 たぶん、事前に10ファイルを開いて実行していると意味だと思いますが。。。、 Workbooks.open Filename:="c:\pass\excell10\1.csv" のように、ファイルを開かないと次の処理ができません。 最終的にどのような処理方法を行うのか解りませんが、1ファイルずつ開いて閉じるなら下記のような感じでしょうか。 録別なエラー処理もしていないので、ファイルの欠如等が予想されてエラーになる可能性があるならそれなりの対策を取る方が良いでしょう。 Sub sample() Dim fname As String Dim i As Integer For i = 1 To 500 fname = i & ".csv" Workbooks.Open Filename:="C:\Users\hogehoge\Documents\excell10\" & fname '処理 Workbooks(fname).Close Next End Sub

za209087
質問者

お礼

取り合えず御礼申しあげます。参考にしながら少しがんばってみます。何しろヘルプを見ても意味が解らず困ってます。パソコンの字も小さく全てに苦労してます。今後とも宜しくご指導ください。