Dela upp varje Excel-ark i separata filerSteg-för-steg-guide
Excel-arbetsböcker är ofta uppdelade i många separata kalkylblad som innehåller unik information.
I många fall räcker det att dela upp denna information i distinkta kalkylblad, men ibland kan det vara bekvämare att arbeta med distinkta filer istället, till exempel när man arbetar med information kopplad till en viss klient.
Du kanske tror att detta kommer att kräva manuell kopiering och flytt av data till en ny arbetsbok, men lyckligtvis kan vi visa dig ett bättre sätt.
Helt enkelt genom att följa några steg eller ange några rader VBA-kod i redigeraren, kan du dela av varje kalkylblad till sin egen separata fil, som du kan redigera och spara hur du väljer.
Så, låt oss komma igång!
<h2>Hur man sparar det för närvarande aktiva kalkylbladet som en separat fil</h2>
Om du bara vill spara det för närvarande aktiva kalkylbladet som en separat arbetsbok, är detta lätt att göra utan någon VBA-kod eller något tidskrävande kopiering och inklistring.
Detta kan vara bekvämt om det finns en begränsad mängd data du vill dela, eller om du arbetar med en regelbundet uppdaterad fil där enskilda kalkylblad behöver delas över tid.
Oavsett anledning, när du behöver spara ett specifikt kalkylblad som en separat fil, kan du göra det genom att följa dessa steg.
<ol>
<li>Högerklicka på namnfliken för kalkylbladet du vill kopiera.</li>
</ol>
<img class=”aligncenter wp-image-18679 size-full” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-566.png” alt=”” width=”441″ height=”336″ />
<ol start=”2″>
<li>På listan med alternativ, välj “Flytta eller kopiera…” för att öppna “Flytta eller kopiera” dialogrutan.</li>
<li>I den nya dialogrutan, börja med att markera rutan bredvid “Skapa en kopia” om du vill behålla kalkylbladet i den befintliga arbetsboken såväl som i en separat fil av egen. När du har valt, välj “Flytta valda blad till bok:” och i rullgardinsmenyn, välj “(ny bok).”</li>
</ol>
<img class=”aligncenter wp-image-18680 size-full” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-567.png” alt=”” width=”303″ height=”306″ />
<ol start=”4″>
<li>Välj nu “OK,” och Excel kommer att öppna en ny arbetsbok med ditt valda kalkylblad. Klicka på “Fil” och “Spara” för att spara din nya arbetsbok till din önskade mapp.</li>
</ol>
Som du kan se är detta ett extremt enkelt sätt att spara ditt valda kalkylblad som sin egen fil.
Men i vissa fall kanske du vill spara varje kalkylblad i en given arbetsbok som sin egen fil, och i dessa fall kan att göra det manuellt vara besvärligt och tidskrävande.
Men genom att använda VBA-kod kan vi minska svårigheten avsevärt.
Nästa ska vi titta på hur vi kan göra detta snabbt och enkelt.
<h2>Kopiera alla synliga flikar till unika filer med VBA</h2>
Med denna VBA-kod kommer vi att titta på hur du kan kopiera varje synlig flik till sin egen Excel-fil.
Detta är sannolikt den vanligaste situationen där du behöver dela filer, och lyckligtvis är det ganska lätt att göra. Följ bara dessa steg.
<ol>
<li>Ange en filmapp där du vill att var och en av filerna du kommer att skapa ska vara placerade. Du kanske vill skapa en ny mapp eller helt enkelt ange en befintlig för detta ändamål.</li>
<li>Spara Excel-filen som innehåller var och en av kalkylbladen du vill dela upp i sina egna filer i denna filmapp. Detta är nödvändigt eftersom koden vi kommer att använda kommer att förvärva platsen där den kommer att spara de nyligen skapade filerna baserat på mappen där originalfilen sparas.</li>
<li>Skapa en säkerhetskopia av din fil och se till att den sparas. Detta är avgörande eftersom du arbetar med VBA-kod; det är lätt att orsaka fel som kan resultera i förlust av ditt ursprungliga kalkylblad om några olyckor skulle inträffa i processen att ange koden.</li>
</ol>
<img class=”aligncenter wp-image-18681 size-large” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-563-700×132.png” alt=”” width=”700″ height=”132″ />
<ol start=”4″>
<li>Öppna VBA-redigeraren genom att välja “Visual Basic” från “Kod” gruppen och välj sedan “Infoga” och sedan “Modul.” Detta kommer att öppna ett nytt fönster där du kan ange kod.</li>
<li>I kodrutan, ange denna VBA-kod:</li>
</ol>
<pre style=”text-align: left;”>Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveWorkbook.SaveAs Filename:=FPath & “\” & ws.Name & “.xlsx”
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub</pre>
<img class=”aligncenter wp-image-18682 size-large” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-564-700×357.png” alt=”” width=”700″ height=”357″ />
<ol start=”6″>
<li>Kör koden med “play-knappen” på menyfliksområdet och kontrollera din filmapp. Här bör du hitta var och en av dina kalkylblad sparade som unika filer.</li>
</ol>
Nu när var och en av dina filer är sparad separat kan du se att var och en av dem har ett filnamn som är identiskt med bladnamnet det hade när det var en del av den ursprungliga arbetsboken.
Dessutom, nu när du har angett en VBA-kod i din arbetsbok, kommer du att vilja spara den som en .xlsm-fil som gör det möjligt för makron att aktiveras.
Detta gör att du kan spara makrot och använda det nästa gång du öppnar filen.
<h2>Hur man delar synliga flikar till enskilda PDF-filer med VBA</h2>
I vissa fall kan du behöva din information sparad som en PDF istället för bara en Excel-fil.
Detta kan göra det lättare att dela med andra och förhindra att det ändras. Detta är där vår nuvarande VBA-kod kommer in.
Genom att använda denna VBA-kod kan vi spara varje som en PDF-fil, och här är hur.
<ol>
<li>På samma sätt som vår första kod, börja med att skapa en säkerhetskopia och spara din ursprungliga fil i mappen där du vill ha dina slutprodukter sparade. Var och en av de separata filerna som kommer att skapas kommer att sparas i denna fil.</li>
</ol>
<img class=”aligncenter wp-image-18683 size-large” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-563-1-700×132.png” alt=”” width=”700″ height=”132″ />
<ol start=”2″>
<li>Navigera till “Utvecklare” fliken och välj “Visual Basic” från “Kod” gruppen för att öppna VBA-redigeraren.</li>
<li>I VBA-redigeraren välj “Infoga” och sedan “Modul.” Detta kommer att öppna ett nytt fönster där du kan ange följande VBA-kod:</li>
</ol>
<pre style=”text-align: left;”>Sub SaveAllTabsAsIndividualFiles()
Dim FolderPath As String
Dim sht As Worksheet
FolderPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each sht In ThisWorkbook.Worksheets
If sht.Visible = xlSheetVisible Then
sht.Copy
DoEvents
‘Save each tab as PDF File
Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FolderPath & “\” & sht.Name & “.pdf”
Application.ActiveWorkbook.Close False
End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox “The visible sheets are saved to separate files”
End Sub</pre>
<em> <img class=”aligncenter wp-image-18684 size-large” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-569-700×297.png” alt=”” width=”700″ height=”297″ /></em>
<ol start=”4″>
<li>Välj den gröna “play-knappen” för att köra koden, och detta bör visa en dialogruta som låter dig veta att filerna har sparats. Navigera till mappen och kontrollera för att säkerställa att de har sparats korrekt.</li>
</ol>
<img class=”aligncenter wp-image-18685 size-full” src=”http://fundsnetservices.com/wp-content/uploads/Screenshot-570.png” alt=”” width=”323″ height=”164″ />
Som med den tidigare metoden, om du vill spara det resulterande makrot, ändra Excel-arbetsbokens filtyp från .xlsx till .xlsm.
<h2>Slutsats</h2>
Förmågan att dela upp Excel-arbetsböcker i separata kalkylblad är ett kraftfullt verktyg som avsevärt kan öka organisation och produktivitet.
Men när det blir bekvämare att separera dessa filer till distinkta filer är det viktigt att veta hur man gör det snabbt och enkelt för att undvika förlorad tid och produktivitet.
Här har vi tittat på tre olika tekniker du kan använda både med och utan VBA-kod för att få jobbet gjort.