Mam skoroszyt, w którym można przyspieszyć obliczenia (długa historia) Utworzono makro, aby skopiować trzy arkusze do innego pliku, a następnie inne makro, aby je skopiować.Makro do kopiowania arkuszy do skoroszytu zatrzymuje się po jednym arkuszu
Makro do skopiowania działa poprawnie, jednak makro do skopiowania z powrotem zatrzymuje się po skopiowaniu na jednym arkuszu.
Szukałem w ramach StackOverflow i znalazłem kilka podobnych pytań, ale nie mogłem znaleźć odpowiedzi, która zadziałała. Jeden post pomyślał, że jest związany z wersjami Office, a jeden z kluczem Shift.
Oto kod:
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
czasem okaże się, że gdybym znowu skasować nowy arkusz i uruchomić makro to czasami działa i czyta wszystkie trzy arkusze, ale także czasami nie.
Każda pomoc jest bardzo doceniana.
Makro zatrzymuje się po jednym arkuszu lub pojawia się błąd? –
Cześć Tim, dzięki za pytanie. Makro kończy się bez błędu. – Boomer
Co się stanie, jeśli skopiujesz wszystkie trzy arkusze naraz? - StorageWbk.Sheets (Array ("Sh A", "Sh B", "Sh C")). Copy After: = ThisWkb.Sheets (ThisWkb.Sheets.Count) '? – YowE3K