Q質問

Office2003のエクセルでVBAを勉強しております。

そこで、VBAで別エクセルファイルからあるシートを指定エクセルファイルへ丸まるコピーしたい場合にはどのようにすればよいのでしょうか?

質問者からの補足コメント

  • 補足です。
    >方法が解らなければ、記録マクロを確認するのが一番です。
    >動作が理解出来たら、コードの最適化を行ってください。

    を行い
      Workbooks.Open Filename:="test_1.xls"
    Windows("test_1.xls").Activate
    Sheets("Sheet1").Cells.Select
    Selection.Copy
    Windows(strNewFileName).Activate
    Sheets("Sheet1").Cells.Select
    ActiveSheet.Paste
    する事で一応できました。
    後は最適化を行いたいと思います。
    有難うございました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2007/04/17 13:56 通報する

A 回答 (1件)

Sheets("A").Copy Before:=Workbooks("Book1").Sheets(1)


>Office2003のエクセルでVBAを勉強しております。

方法が解らなければ、記録マクロを確認するのが一番です。
動作が理解出来たら、コードの最適化を行ってください。

この回答へのお礼

早速のアドバイス有難うございます。

Sheets("A").Copy Before:=Workbooks("Book1").Sheets(1)
を試しました。

実際には下記のように書いてテストしました。
結果は「インデックスが有効範囲にありません」とエラーとなってしまいました。
Private Sub btnCombine_Click()
Dim result As Boolean
result = makeNewExcelFile()

Workbooks.Open Filename:=lblPath_1.Caption
Worksheets("Sheet1").Copy After:=Workbooks(strNewFileName).Worksheets("Sheet3")

End Sub

'新規エクセルファイルを作成
Function makeNewExcelFile() As Boolean
Dim intSheetCnt As Integer
'これで新規ブックでのシート数を1にします
Application.SheetsInNewWorkbook = 1
Workbooks.Add
strNewFilePath = "C:\"
strNewFileName = Format(Date, "yyyymmdd") & ".xls"
ActiveWorkbook.SaveAs strNewFilePath & strNewFileName
ActiveWorkbook.Close
End Function


コピー元エクセルファイルとコピー先エクセルファイルの指定の仕方がよくわかりませんでした。

お礼日時:2007/04/17 12:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

このQ&Aを見た人はこんなQ&Aも見ています

注目の記事

教えて!ひな祭り

各地の風習や由来など、ひな祭りについてのQAを集めました。

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報