- ベストアンサー
VBAエクセルにて開いてないエクセルシートを開いてるシートに所得
お世話になります。 「同じフォルダー内にBOOKが2つ有ります。1つ(AK.xls)を立上げて もう1つの(EX.xls)を立上げずに、EX.xls内のSheet1をコピーして AK.xlsのシート(STEP1)に貼り付けようとしています。」 どうしてもエラーが出てしまいます。 何方か、分かる方教えて下さい。 また記述して戴ければもっと助かります。 エラーは”1004”EX.xlsが見つかりません。と出てしまいます。 Sub ST() Dim wsSrc As Worksheet, WS As Worksheet Dim PasteR As Range Dim x As Long Sheets("STEP1").Select Cells.Select Selection.Delete Shift:=xlUp Range("A1").Select Set wsSrc = ActiveSheet Workbooks.Open "EX.xls" For Each WS In Worksheets x = WS.Range("A1").CurrentRegion.Rows.Count If WS.Index = 1 Then Set PasteR = wsSrc.Range("A1") Else Set PasteR = wsSrc.Range("A65536").End(xlUp).Offset(1) End If WS.Range(WS.Cells(1, 1), WS.Cells(x, 44)).Copy PasteR Set PasteR = Nothing Next ActiveWorkbook.Close False Set wsSrc = Nothing End Sub デバックでは Workbooks.Open "EX.xls"この部分が黄色になります。 是非、回答を宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Workbooks.Open "c:\EX.xls" というふうに EX.xls がどこにあるのか フルパスで指定してあげたら いかがでしょうか。
その他の回答 (1)
- ichigo_ichie
- ベストアンサー率14% (27/185)
コピー元のEX.xlsが立ち上がってないからじゃないですか? メモリー上に展開されてないわけですから、プログラム認識できないでしょう。 つまり、両方起動して、コピーしないといけないということです。 実際、手動でシートのコピーをする場合、両方のBOOKが起動してないと できないでしょう?
お礼
回答を有難う御座います。 説明不足でした。申し訳ございません。 EX.xlsはアクセスから自動で作成されます。 それを別のエクセルで付加情報を付けて編集したかったので、 EX.xlsを開ける手間を省きたかったが為に、悩んでました。 だったらアクセスから直にAK.xlsに取り込めば良いと思われるでしょうが アクセスは別の人が作ったので、触らずに今有るデータで何とかしようと考えました。 実際保存元のパソコンではちゃんと動いていたのですが、共有掛け、ネットワークを挟むと動きませんでした。 説明不足で本当にすみませんでした。
お礼
有難う御座います。 フルで指定したところ所得しました。 やっと先に進めます。 本当に助かりました。