2016-12-16 7 views
5

計算を高速化するためのブックがあります(長文)3枚のシートを別のファイルにコピーし、別のマクロをコピーしてコピーします。シートを1枚後にブックにコピーするマクロ

コピーアウトするマクロはうまく動作しますが、コピーするマクロは1枚のシートにコピーした後に停止します。

StackOverflowで検索したところ、同様の質問がありましたが、うまくいきませんでした。 1つの投稿は、それがOfficeバージョンに関連していて、Shiftキーの問題に関連していると思っていました。ここで

はコードです:

Application.Calculation = xlCalculateManual 
Application.ScreenUpdating = False 
Application.DisplayAlerts = True 
Application.EnableEvents = False 

' 
' Set up the workbooks 
' 
Set ThisWkb = ThisWorkbook 
Fname = Application.GetOpenFilename(_ 
    fileFilter:="Excel Macro Files, *.xlsm", _ 
    Title:="Select the Storage File", _ 
    MultiSelect:=False) 
Set StorageWbk = Workbooks.Open(Fname) 
' 
MsgBox ("Beginning process - please click ok to any macro warning - you will see a confirmation when complete") 


StorageWbk.Sheets("Sh A").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count) 
StorageWbk.Sheets("Sh B").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count) 
StorageWbk.Sheets("Sh C").Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count) 

StorageWbk.Close 

私は時々私は、新しいシートを削除して、再度マクロを実行する場合、それは時々動作し、読み込み、すべての3枚のシートをして、それはまた時々いないことが判明します。

すべてのヘルプは大歓迎です。

+1

マクロは1枚のシートの後で停止するか、エラーが表示されますか? –

+1

こんにちはティム、質問ありがとう。マクロはエラーなしで停止します。 – Boomer

+3

3枚のシートすべてを一度にコピーするとどうなるでしょうか? 'StorageWbk.Sheets(Array(" Sh A "、" Sh B "、" Sh C "))Copy After:= ThisWkb.Sheets(ThisWkb.Sheets.Count) '? – YowE3K

答えて

0

(私はそれを見ていた)、ここで直接コメントから正しい答えを与えるためにYowE3Kとnbaylyの両方を引用:

あなたの隠されたシートを再表示し、一度使用した時に3つのリンクをコピーします。

StorageWbk.Sheets(Array("Sh A", "Sh B", "Sh C")).Copy After:=ThisWkb.Sheets(ThisWkb.Sheets.Count) 
関連する問題