Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Accedi
x
or
x
x
Registrati
x

or

Come esportare e salvare ogni foglio di lavoro come nuova cartella di lavoro separata in Excel?

Diciamo che vuoi esportare e salvare uno o più fogli di lavoro come una nuova cartella di lavoro, come la gestirai? Normalmente è possibile copiare ciascun foglio di lavoro e incollarlo in una nuova cartella di lavoro. Ma qui ti portiamo alcuni pratici trucchi per affrontarlo:

Esporta e salva i fogli di lavoro come nuova cartella di lavoro con il comando Sposta o Copia

Esporta e salva i fogli di lavoro come nuova cartella di lavoro con codice VBA

Esporta e salva i fogli di lavoro come nuova cartella di lavoro con Kutools per Excel buona idea3


Suddividi rapidamente più fogli di lavoro in una cartella di lavoro separata in Excel

In Microsoft Excel, è possibile salvare o dividere un foglio di lavoro da una cartella di lavoro come un nuovo file di Excel copiando e incollando questo foglio di lavoro in una nuova cartella di lavoro. Sembra problematico, se si desidera dividere ogni foglio / foglio di lavoro di una cartella di lavoro di grandi dimensioni come file Excel, txt, csv, pdf separati. Ma con Kutools for Excel'S Cartella di lavoro divisa utilità, puoi gestirlo rapidamente. Fai clic per la prova gratuita di 30 giorni con funzionalità complete!
cartella di lavoro divisa per documenti 1
Kutools per Excel: con più di 300 utili componenti aggiuntivi di Excel, prova gratuita senza limiti nei giorni 30.

freccia blu bolla destra Esporta e salva i fogli di lavoro come nuova cartella di lavoro con il comando Sposta o Copia


Usando il Sposta o copia comando ti aiuterà a esportare o copiare uno o più fogli di lavoro in una nuova cartella di lavoro rapidamente.

Passo 1: selezionare i nomi del foglio di lavoro nella barra delle schede. Puoi selezionare multipli tenendo premuto Ctrl chiave o spostamento chiave.

Passo 2: fare clic con il pulsante destro del mouse sul nome del foglio di lavoro e fare clic su Sposta o copia dal menu di scelta rapida.
fogli di esportazione doc 1

Passo 3: In Sposta o copia finestra di dialogo, selezionare il (nuovo libro) voce dall'elenco a discesa di Sposta i fogli selezionati per prenotare.

fogli di esportazione doc 2

Passo 4: quindi fare clic OK, ora sei passato al nuova cartella di lavoro con i fogli di lavoro esportati o copiati, fare clic su Compila il > Risparmiare per salvare la nuova cartella di lavoro.

Nota: Nel Sposta o copia finestra di dialogo, c'è a Crea una copia opzione. Se non lo controlli, sposterà i fogli di lavoro selezionati dalla cartella di lavoro originale; se lo controlla, copierà i fogli di lavoro selezionati.


freccia blu bolla destra Esporta e salva i fogli di lavoro come nuova cartella di lavoro con codice VBA

Questo codice seguente esporterà ogni foglio di lavoro visibile in una nuova cartella di lavoro e salva la cartella di lavoro con il nome del foglio originale in una cartella appena creata nello stesso percorso della cartella di lavoro attiva. Si prega di fare come i seguenti passaggi:

Passo 1: tieni premuto il tasto ALT + F11 chiavi, e apre il Microsoft Visual Basic, Applications Edition finestra.

Passo 2: fare clic inserire > Moduloe incollare la seguente macro nella finestra del modulo:

VBA: Esporta e salva i fogli di lavoro come nuova cartella di lavoro in una nuova cartella.

Sub SplitWorkbook()
'Updateby20140612
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim FolderName As String
Application.ScreenUpdating = False
Set xWb = Application.ThisWorkbook
DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")
FolderName = xWb.Path & "\" & xWb.Name & " " & DateString
MkDir FolderName
For Each xWs In xWb.Worksheets
    xWs.Copy
    If Val(Application.Version) < 12 Then
        FileExtStr = ".xls": FileFormatNum = -4143
    Else
        Select Case xWb.FileFormat
            Case 51:
                FileExtStr = ".xlsx": FileFormatNum = 51
            Case 52:
                If Application.ActiveWorkbook.HasVBProject Then
                    FileExtStr = ".xlsm": FileFormatNum = 52
                Else
                    FileExtStr = ".xlsx": FileFormatNum = 51
                End If
            Case 56:
                FileExtStr = ".xls": FileFormatNum = 56
            Case Else:
                FileExtStr = ".xlsb": FileFormatNum = 50
        End Select
    End If
    xFile = FolderName & "\" & Application.ActiveWorkbook.Sheets(1).Name & FileExtStr
    Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum
    Application.ActiveWorkbook.Close False
Next
MsgBox "You can find the files in " & FolderName
Application.ScreenUpdating = True
End Sub

Passo 3: premere il tasto F5 chiave per eseguire questo codice. Viene visualizzata una finestra di dialogo per indicare la posizione delle nuove cartelle di lavoro esportate e tutti i fogli di lavoro della cartella di lavoro originale sono stati esportati in alcune nuove cartelle di lavoro separate che hanno denominato i fogli originali in una nuova cartella specifica. Vedi gli screenshot:

fogli di esportazione doc 7

freccia blu bolla destra Esporta e salva i fogli di lavoro come nuova cartella di lavoro con Kutools per Excel

Se hai bisogno di più fogli di lavoro da salvare come cartella di lavoro separata, il primo metodo non può essere una buona scelta. E il codice VBA può essere un po 'complicato per i principianti di Excel. Qui puoi usare il Cartella di lavoro divisa utilità di Kutools for Excel esportare e salvare in modo rapido e semplice ogni foglio di lavoro di una cartella di lavoro per separare una nuova cartella di lavoro.

Kutools for Excel, con oltre 300 funzioni a portata di mano, rende più facile il lavoro.

Dopo installazione gratuita Kutools per Excel, si prega di fare come di seguito:

Passo 1: fare clic Kutools Plus > Cartella di lavoro > Dividi cartella di lavoro .... Vedi screenshot:
fogli di esportazione doc 3

Passo 2: nel Cartella di lavoro divisa finestra di dialogo, fare come di seguito:

fogli di esportazione doc 4
1: tutti i nomi dei fogli di lavoro sono stati controllati per impostazione predefinita, se non si desidera dividere alcuni dei fogli di lavoro, è possibile deselezionarli;


2: Se si desidera evitare di dividere i fogli di lavoro nascosti o vuoti, è possibile controllare il Salta i fogli di lavoro nascosti or Salta fogli di lavoro vuoti) .;


3: e anche tu puoi controllare Specificare salvare formato e per selezionare dividere i fogli, quindi salvare come file di testo, file pdf o file csv, in caso contrario, se non si seleziona questa opzione, i fogli verranno divisi e salvati come cartella di lavoro.

Passo 3: quindi fare clic Diviso pulsante e selezionare la cartella in cui si desidera inserire le nuove cartelle di lavoro. Vedi screenshot:
fogli di esportazione doc 6

Passo 4: quindi fare clic OK, quindi ogni foglio di lavoro controllato in Cartella di lavoro divisa la finestra di dialogo viene esportata e salvata come cartella di lavoro individuale. Ogni nuova cartella di lavoro viene denominata con il nome del foglio di lavoro originale. Vedi screenshot:
fogli di esportazione doc 5

Fare clic per ulteriori informazioni su questo strumento di divisione della cartella di lavoro.

freccia blu bolla destra Esportare e salvare ogni foglio come nuova cartella di lavoro


Suddividi rapidamente i dati in più fogli di lavoro basati su colonne o righe fisse in Excel

Supponendo di avere un foglio di lavoro con dati nelle colonne da A a G, il nome del venditore si trova nella colonna A e devi dividere automaticamente questi dati in più fogli di lavoro basati sulla colonna A nella stessa cartella di lavoro e ciascun venditore sarà suddiviso in un nuovo foglio di lavoro. Kutools for Excel'S Dividi la data l'utilità può aiutarti a suddividere rapidamente i dati in più fogli di lavoro in base alla colonna selezionata, come mostrato in figura in Excel. Fai clic per la prova gratuita di 30 giorni con funzionalità complete!
dati suddivisi in documenti 2
Kutools per Excel: con più di 300 utili componenti aggiuntivi di Excel, prova gratuita senza limiti nei giorni 30.

Articoli correlati:


Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 30-day.
kte tab 201905

Scheda Office Porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    kerstin · 4 months ago
    Un aporte realmente útil. He probado el módulo con código VBA y funciona a la perfección. Muchas gracias, me has salvado una tarea que me hubiera llevado mucho tiempo con el mover y copiar.
  • To post as a guest, your comment is unpublished.
    SS · 5 months ago
    This is a fantastic piece of work, thanks a lot.
    Do we have any option to select only specific columns in a worksheet to be exported?
  • To post as a guest, your comment is unpublished.
    JR · 6 months ago
    For anybody who finds the VBA code is not running as expected, try to change Line 9 to "Set xWb = Application.ActiveWorkbook"

    Otherwise, fantastic! Does exactly as described, and runs fairly quickly
  • To post as a guest, your comment is unpublished.
    Vinod Pingale · 7 months ago
    very nice.... Thanks
  • To post as a guest, your comment is unpublished.
    PK · 9 months ago
    How to convert this macro so that I can save it in my personal workbook and can use to where ever I need it.
    • To post as a guest, your comment is unpublished.
      Sunny · 8 months ago
      Click Developer tab > Record Macro > select Personal Macro Workbook, and give the vba a name.
      Then in Microsoft Visual Basic for Applications window, click VBAProject(PERSONA_XLSB) > Modules > double click Module1, paste the code between Sub() and End Sub, save the code.
      When you want to use the code, click Developer > Macro, choose the code you name.
      • To post as a guest, your comment is unpublished.
        brahim · 20 days ago
        xWs.Copy this methode give me an erreor 1004
  • To post as a guest, your comment is unpublished.
    Sergii · 10 months ago
    February 2019 - after some update Excel silently exits macro right after Application.ActiveWorkbook.SaveAs
    It means, that commands Application.ActiveWorkbook.Close does not run and file stays opened... Could it be fixed? This happened all the machines in our office on several workbooks that were using such kind of Macro.
  • To post as a guest, your comment is unpublished.
    Jenne · 1 years ago
    Do you have the formula to make sure that each excel sheet when saved as a new work book is in total format Comma Delimited .CSV
  • To post as a guest, your comment is unpublished.
    Jenne · 1 years ago
    Love this and another info you have on splitting data into each worksheet. However I keep getting an error when trying to upload my single reports into my system

    I needed them as a csv file so just changed the last part of the module to .csv I am wondering if I missed something else that should've been changed.

    Thanks a million
  • To post as a guest, your comment is unpublished.
    Ananda · 1 years ago
    what is the use of Worksheet.Save??
  • To post as a guest, your comment is unpublished.
    Eunice · 1 years ago
    Hi Sunny,

    Thank you for sharing this code!

    I keep getting this error "Compile Error: Wrong number of arguments or invalid property assignment" at the "format" portion of the following string:

    DateString = format(Now, "yyyy-mm-dd hh-mm-ss")
  • To post as a guest, your comment is unpublished.
    Mario · 1 years ago
    Hi, I use this VBA code all the time to separate commission statements into individual spreadsheets. Is it possible to add a line to the code so it will automatically email the report to each person using outlook?
  • To post as a guest, your comment is unpublished.
    RD Raajput · 2 years ago
    i cant find enterprise toolbar kindly help me
  • To post as a guest, your comment is unpublished.
    RD Raajput · 2 years ago
    this code cahnge dates in my sheets
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      What dates have been changed? The modified dates? The Enterprise tab will be appeared after installing Kutools for Excel.
  • To post as a guest, your comment is unpublished.
    Isuru · 2 years ago
    xWs.Copy line comes up with an error in my case with 2016 "Method 'Copy of object'_Worksheet' failed.
    Please suggest me a correction if possible.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Sorry, I have no idea about your problem.
  • To post as a guest, your comment is unpublished.
    Peggy · 2 years ago
    Hi,


    its totally work with the excel 2010.


    however, after i upgraded to Excel 2016, the code doesn't work.


    would you please advise which part should i be revised?
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Excuse me, which method you cannot use in Excel 2016? In my condition, all of the methods above do work in Excel 2016 perfectly
  • To post as a guest, your comment is unpublished.
    Omeir · 2 years ago
    Hi the second method worked great. Thank you. I have one question. This method saves each worksheet as a new workbook based on the name of the sheet. Is there anyway to add to the name, for example sheets have a variable name which is currently being saved. Can I add January 2017 or Feb 2017 to the files saved?
  • To post as a guest, your comment is unpublished.
    Sarfraz · 2 years ago
    Is there a way to change this macro so I can save it in a file in the XLSTART folder but it will run for the active workbook? Everytime I save it in the XLSTART workbook it fails at the DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")line.

    Thanks!
    Sarfraz
  • To post as a guest, your comment is unpublished.
    Aung · 2 years ago
    This is exactly what I needed! Awesome!
  • To post as a guest, your comment is unpublished.
    Rae · 2 years ago
    Hi. I received an error code that says "Compile error: Invalid outside procedure"...help!
  • To post as a guest, your comment is unpublished.
    DAS · 2 years ago
    Your code worked for me... Thanks much!!!
  • To post as a guest, your comment is unpublished.
    Richard · 3 years ago
    Can we also export ALL (300+) sheets to html,
    this will help me a lot, the export to unified text is already helping but I need them in html, or no table borders for the cell differences
  • To post as a guest, your comment is unpublished.
    Madhav Mehendale · 3 years ago
    Out of the above three methods, I found the first method to be quite good having regard to the fact that I am a beginner & my work is not at all of the same magnitude like professionals. My sincere thanks for explaining the steps in simple and lucid manner.
  • To post as a guest, your comment is unpublished.
    Beth G · 3 years ago
    Run time error Method 'Copy of Object' worksheet' failed
  • To post as a guest, your comment is unpublished.
    Beth G · 3 years ago
    xWs.Copy -it is an error in my part what does it mean?
  • To post as a guest, your comment is unpublished.
    Louise · 4 years ago
    Great article - VBA worked first time - perfect
  • To post as a guest, your comment is unpublished.
    Charlie Clarke · 4 years ago
    Unfortunately the VBA code didn't work for me. I had to debug and the issue is with the line:
    Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum

    Any ideas why it didn't work for me?
  • To post as a guest, your comment is unpublished.
    JoaoM · 4 years ago
    Muy buena la aplicacion.

    Es una pena no existir tambien en Español.

    Gracias
  • To post as a guest, your comment is unpublished.
    AC · 4 years ago
    Very Useful thanks! Loved the VBA Code
  • To post as a guest, your comment is unpublished.
    fauzan · 4 years ago
    thank. terimakasih. ini code yang saya butuhkan
  • To post as a guest, your comment is unpublished.
    farfan · 5 years ago
    The VBA codes works like magic, but is there a way for this to be done using VBScript? I'm going nuts trying to meet the requirement from my supervisor.
  • To post as a guest, your comment is unpublished.
    Chris · 5 years ago
    this code is perfect for what i need,
    but could you show code for the exact same process for one sheet rather than the entire workbook?
  • To post as a guest, your comment is unpublished.
    Sam · 5 years ago
    The code is failing at sh.Copy and I cannot figure out why. Any Ideas?
  • To post as a guest, your comment is unpublished.
    Votefor Pedro · 5 years ago
    Thank you. This is esactly what I needed.
  • To post as a guest, your comment is unpublished.
    Phani · 5 years ago
    Hi All,
    Can someone help me on below.
    I need VBA code that can copy only all visible sheets to new workbook and it should not copy macro code to new workbook, save new workbook on desktop with two different cell values in sheet and sheet name as a file name and close the master workbook without saving.
  • To post as a guest, your comment is unpublished.
    Keith · 5 years ago
    Is there a way to change this macro so I can save it in a file in the XLSTART folder but it will run for the active workbook? Everytime I save it in the XLSTART workbook it fails at the DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")line.

    Thanks!
    Keith
  • To post as a guest, your comment is unpublished.
    Rajesh Jayagopi · 5 years ago
    Thanks a lot. Good Job!.
  • To post as a guest, your comment is unpublished.
    Sean · 5 years ago
    Hello I like the code
    Is it possible to just save the new workbook without the date information That is so when I resave the sheets in the previous workbook I will have the option to overwrite the changes rather than create another dated folder? Also but not so important how could I use another name and destination for the destination folder
    Regards
    Sean
  • To post as a guest, your comment is unpublished.
    Nasser · 6 years ago
    thanks alot, works very well and easy.