- ベストアンサー
VBA 呼び込みで1回目のファイルを参照しエラー
- VBAを使用してファイルを呼び込む際、最初の呼び込みは成功するが二回目の呼び込みでエラーが発生する。
- 指定のディレクトリにあるExcelファイルを順に開くVBAのコードにおいて、forループを使用して呼び込みを行う。
- しかし、二回目の呼び込みで一回目のファイルを参照してしまうためエラーが発生する。解決方法として、参照先の指定を修正するか、A列に数字4桁のみが入力されるようにすることが挙げられる。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Workbooks.Open Filename:=Cells(i + 10, "A") & ".xls", UpdateLinks:=0 を Workbooks.Open FileName:=ThisWorkbook.ActiveSheet.Cells(i + 10, "A") & ".xls", UpdateLinks:=0 とか Workbooks.Open FileName:=Workbooks("ABC.xls").Sheets("Sheet1").Cells(i + 10, "A") & ".xls", UpdateLinks:=0 というように、ファイル名一覧の所在地を明示すれば解決すると思います。 ≪参考≫ >For i = 1 To 10 >Workbooks.Open Filename:=Cells(i + 10, "A") & ".xls", >UpdateLinks:=0 >i = i + 1 >Next i が間違いない(1行置きに参照)なら For i = 1 To 10 Step 2 Workbooks.Open Filename:=Cells(i + 10, "A") & ".xls", UpdateLinks:=0 Next i というように書くことができます。 あと >参照先の Cells(i + 10, "A") & ".xls"は "C:\08-C\9\1k-1\m\" の中にsw.xls が有り >A列11より数字4桁で入ってその後には 数字4桁、 数字+漢字、 漢字 の順に入っています。 >A列の配列はソートをかけています。 >または >A列11より数字4桁 だけでも解決が付けば大変な感謝です。 私には理解できません。何をおっしゃりたいのか意味不明です。
お礼
毎度お世話になります。 数字4桁、 数字+漢字、 漢字 完璧に動作しました。 有難うございました。