2016-10-01 10 views
-1

Excelで単純なマクロを作成して別のブックを開き、シートをブックにコピーしました。これは普通のxlsファイルにはうまくいきましたが、マクロを含む.xltmファイルでこのファイルを使用しようとしたとき、そのマクロのために範囲外のエラーが発生しました。VBA:マクロを含む別のブックからシートをインポートする

Excel vbaでブックを開き、マクロを含むコピーとシートを作成する方法はありますか?あなたが代わりにXLSMファイルを使用しているとき

私のコード

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
directory = "c:\" 
fileName = Dir(directory & "book1.xls") 
Workbooks.Open (directory & fileName) 
For Each sheet In Workbooks(fileName).Worksheets 
    total = ThisWorkbook.Worksheets.Count 
    Workbooks(fileName).Worksheets(sheet.Name).Copy after:=ThisWorkbook.Worksheets(total) 

Next sheet 

おかげでみんな、

+0

'For Each sheet'ループの中で' Workbooks(fileName).Worksheets(sheet.Name) 'の代わりに単に 'sheet'を使うことを指摘してください。 – user3598756

答えて

0

それはあなたの

fileName = Dir(directory & "book1.xls") 

とは何かを持ってもらえますか?

+1

おそらくファイルを.xlsm 。 –

+0

こんにちは。返信いただきありがとうございます。私は、ファイル名を、問題のファイルに変更しました。このファイルには、ボタンとクリックされたページを追加するマクロが含まれています。インポートされたシートの行でデバッガが停止し、新しいシートを追加しようとしています。 –

関連する問題