vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest poniedziałek, 06 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

'zapisz jako' ale pozostań na oryginale


otwartyotwarty rozpoczął: VBAmator postów: 6



napisał: Trebor
postów: 1209


umieszczony:
21 listopada 2015
21:16

  
Poprawka to tylko kosmetyka bez wpływu na efekt końcowy:
Sheets(2).Copy
    Cells.Copy
    Cells.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
ActiveWorkbook.Close SaveChanges:=True, Filename:="E:\nowy.xlsx"

napisał: VBAmator
postów: 67


umieszczony:
21 listopada 2015
16:55

  
Bardzo dziękuję.

A czy jest sposób na pozbycie się funkcji krócej i prościej niż poniżej?
Sub test()
Sheets(2).Copy
ActiveWorkbook.SaveAs "D:\nowy.xls"
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
ActiveWorkbook.Close SaveChanges = True
End Sub

napisał: Trebor
postów: 1209


umieszczony:
20 listopada 2015
18:43

  
W ten sposób nie. Kopiujesz wybrany arkusz
Sheets(2).Copy


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.

Dziękuję.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z