Salvarea foilor de lucru in documente diferite

Sursa: http://pc-config.info/cum-spargi-un-tabel-excell-cu-mai-multe-foi-in-mai-multe-fisiere/

Macrocomanda se folosește pentru a salva separat foile de lucru dintr-un registru de lucru.

Foile de lucru sunt salvate în același director, ca și fișiere cu extensia xlsx. 

Atenție, la rularea macrocomenzii, dacă în director există deja fișiere care au aceleași nume cu numele foilor de lucru, ele vor fi suprascrise.

Sub Splitbook()

Dim xWs As Excel.Worksheet 'declarare variabila pentru numele foii de lucru

Dim xPath As String '...si pentru calea la directorul in care se afla registrul de lucru sursa

xPath = Application.ActiveWorkbook.Path


Application.ScreenUpdating = False ' dezactiveaza actualizarea informatiei de pe ecran

Application.DisplayAlerts = False ' dezactiveaza afisarea mesajelor de eroare


For Each xWs In Worksheets 'pentru fiecare foaie de lucru din registru...

   xWs.Copy ' ...copie foaia de lucru...

   Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx" ' ...si o salveaza in acelasi director cu extensia xlsx

   Application.ActiveWorkbook.Close False

Next


Application.DisplayAlerts = True 'activeaza actualizarea informatiei pe ecran

Application.ScreenUpdating = True 'activeaza afisarea mesajelor de eroare

End Sub

Notă: În cazul în care o foaie de lucru are același nume cu registrul de lucru (sursă) deschis, Excel generează noul fișier Excel, apoi afișează un mesaj de eroare, pentru că nu poate salva acel fișier peste fișierul sursă deja deschis (nu poate suprascrie un fișier deschis).

Mod de lucru rapid: Se copie macrocomanda de mai sus (selecție text și Ctrl+C), se deschide registrul de lucru, apoi