質問:
エクセル2000のVBAについて教えてください。
アクティブブックのシートbの後ろに、Aブックのaシートをコピーするやり方ですが
自分なりに作ったのですがインデックスエラーがでてしまいます。
どこが間違っているのでしょうか?
ちなみにアドレスは間違いありません。
Workbooks("C:\Documents and Settings\admin\MyDocuments\A").Worksheets
("a").Copy after:=ActiveWorkbook.Worksheets("b")
答え:
コピー元のブックの指定方法が間違っているようです

Workbooksの引数には フルパスではなく ブック名のみでいいと思います
また コピー元のブックは同じエクセル内で開いている必要があります

一度に全部やろうとしないで やりたいことを分割してみましょう
今回の場合なら

Workbooks.Open メソッドを使うと ActiviWorkbookが換わってしますのでその対策をしないといけません
そのために プロシージャの先頭部分コピー先の確保を行います

Dim mySheet as Worksheet
Set mySheet = ActiveWorkbook.Worksheets("b")

'"A"というブックを取得
dim wb as Workbook
on error resume next
set wb = Workbooks("A")
On Error goto 0
'失敗なら "A"というブックを開く
if wb is nothing then
set wb = WOrkbooks.Open("C:\Documents and Settings\admin\MyDocuments\A")
end if
'ブックAの シートaを 現在のブックの シートbの後ろにコピー
wb.Worksheets("a").Copy after:=mySheet
'といった手順でしょう
補足の質問:
本当に助かりました。ありがとうございました。この質問・回答は役に立ちましたか?

ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.

  • パソコン初心者です。2ちゃんねるをしていて、http...
  • WORD入力のキーボードJKLが456と入力されてしま...
  • おしえてExcelで郵便番号を入力するだけ住所が入力...
  • エクセルについて教えてくださいABC123...
  • 表計算で、セルの左上に現れる三角マークの意味がわか...
  • ウィルス駆除ソフトについて質問です。マカフィー...