• ベストアンサー

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"この部分が黄色になります。 是非、回答を宜しくお願い致します。

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

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

Workbooks.Open "c:\EX.xls" というふうに EX.xls がどこにあるのか フルパスで指定してあげたら いかがでしょうか。

aieeen
質問者

お礼

有難う御座います。 フルで指定したところ所得しました。 やっと先に進めます。 本当に助かりました。

その他の回答 (1)

回答No.2

コピー元のEX.xlsが立ち上がってないからじゃないですか? メモリー上に展開されてないわけですから、プログラム認識できないでしょう。 つまり、両方起動して、コピーしないといけないということです。 実際、手動でシートのコピーをする場合、両方のBOOKが起動してないと できないでしょう?

aieeen
質問者

お礼

回答を有難う御座います。 説明不足でした。申し訳ございません。 EX.xlsはアクセスから自動で作成されます。 それを別のエクセルで付加情報を付けて編集したかったので、 EX.xlsを開ける手間を省きたかったが為に、悩んでました。 だったらアクセスから直にAK.xlsに取り込めば良いと思われるでしょうが アクセスは別の人が作ったので、触らずに今有るデータで何とかしようと考えました。 実際保存元のパソコンではちゃんと動いていたのですが、共有掛け、ネットワークを挟むと動きませんでした。 説明不足で本当にすみませんでした。