W ten sposób wybrany arkusz będzie jedynym arkuszem w nowym workbooku, który automatycznie będzie skoroszytem aktywnym. Nowy skoroszyt zapisujesz pod jakąś nazwą i go zamykasz. Po zamknięciu aktywnym skoroszytem powinien być ten z którego kopiowałeś. Jeśli miganie ekranu będzie zbyt dokuczliwe możesz spróbować wyłączyć jego odświeżanie
Application.ScreenUpdating = False
na czas wykonywania makra. Na końcu proponuję przywrócić odświeżanie, chociaż nie jest to bezwzględnie konieczne. Po zakończeniu wykonywania makra odświeżanie powinno samoistnie się włączyć.
napisał: VBAmator postów: 67
umieszczony: 19 listopada 2015 23:11
Super. Dziękuję.
A czy dało by radę zapisać w ten sposób tylko wybrany arkusz? Cały plik ma parę MB więc...
napisał: Trebor postów: 1209
umieszczony: 19 listopada 2015 15:29
Najprościej
ThisWorkbook.SaveCopyAs "E:\nowy.xls"
Pozdrawiam
napisał: VBAmator postów: 67
umieszczony: 18 listopada 2015 22:36
Witam.
Pracuję na pliku bazowym Excel, który otwiera się (tylko do odczytu).
Wykonuję dwukrotnie jakieś zmiany w arkuszu. Po każdej takiej zmianie potrzebuję zapisać kopię pliku w innym katalogu i nadal pozostawać w pierwotnie otwartym pliku bazowym.
ActiveWorkbook.SaveAs - powoduje, że dalej pracuję już na nowo zapisanym pliku.
Workbooks.Add - i kopiowanie danych mnie nie satysfakcjonuje
Podrzućcie proszę jakieś zaklęcie, które pomogło by mi obejść w/w problem.