質問: workbooks("001.xls").worksheets(1).range("r2") activecell.offset(1, -3).select 001.xls~(連番でない)200.xlsくらいまでのファイルがあり、 同じフォルダにdbase.xlsを作って1ブックから1レコードになるようにしたいと 思います。 こんな感じで1行目はできたのですが、2行目の1列目に「2」を入れ、 2列目からは001.xlsの次のブックを開いてセルの中身をコピーしたいのです。 変数の使い方がよくわからないのですが、教えていただけますでしょうか。 よろしくお願いいたします。
回答: #1です。 すみません。そのエラーはキチンと場所を指定していないから起こっています。 workbooks("xxx").sheets("xxx").cells(...)とシートを指定して下さい。 私も初心者の時は悩みまくり、本見まくり、ネットサーフィンしまくりでした。 ちなみにもし、オブジェクトが理解できるようでしたら、ぜひこの場合workbookオブジェクトを使うといいと思います。 dim wb as workbook とwbという変数をワークブックオブジェクトとして定義します。 そしてset wb = workbooks.open("ファイルのフルパス")と言う形でセットします。 やってることは同じですが、こういうところから覚えていくとあとあと楽になると思うのでこの機会にゼヒ。 (たとえば新規ファイルをいくつか作ったらどうやって指定するの?みたいな話になった時、set wb = workbooks.add と指定できたりするので) それから、上記のコードそのままやると、私ブックを閉じるのを忘れているので200個のブックが開きっぱなしになります。 fn=dir()の前にブックを閉じる処理を入れて下さい。 workbooks(fn).close false wb.close false ←オブジェクトならこう!簡単になります☆