Skip to main content

Auto split Excel worksheets into files

 In Microsoft Excel, when you want create a new excel file from your current worksheet, just need right-click and select move/copy a sheet. However, if your workbook has many sheets, it take more time.

Now, we show you how to save your time by doing that automatically.

  1. Create the Visual Basic module
    • Open your excel file. Browse to Developer tab and click View code
    • Click Insert > Module
    • Copy below code into editor
    • Sub SplitWorksheetsIntoFiles()
      Dim FileExtStr As String
      Dim FileFormatNum As Long
      Dim xWs As Worksheet
      Dim xWb As Workbook
      Dim xNWb As Workbook
      Dim FolderName As String
      Application.ScreenUpdating = False
      Set xWb = Application.ThisWorkbook
      DateString = Format(Now, "yyyymmdd-hhmmss")
      FolderName = xWb.Path & "\" & xWb.Name & "+" & DateString
      If Val(Application.Version) < 12 Then
          FileExtStr = ".xls": FileFormatNum = -4143
          Select Case xWb.FileFormat
              Case 51:
                  FileExtStr = ".xlsx": FileFormatNum = 51
              Case 52:
                  If Application.ActiveWorkbook.HasVBProject Then
                      FileExtStr = ".xlsm": FileFormatNum = 52
                      FileExtStr = ".xlsx": FileFormatNum = 51
                  End If
              Case 56:
                  FileExtStr = ".xls": FileFormatNum = 56
              Case Else:
                  FileExtStr = ".xlsb": FileFormatNum = 50
              End Select
      End If
      MkDir FolderName
      For Each xWs In xWb.Worksheets
      On Error GoTo NErro
          If xWs.Visible = xlSheetVisible Then
          xFile = FolderName & "\" & xWs.Name & FileExtStr
          Set xNWb = Application.Workbooks.Item(Application.Workbooks.Count)
          xNWb.SaveAs xFile, FileFormat:=FileFormatNum
          xNWb.Close False, xFile
          End If
          MsgBox "The files in " & FolderName
          Application.ScreenUpdating = True
      	Shell "C:\WINDOWS\explorer.exe """ & Foldername & "", vbNormalFocus
      End Sub
  2. Run the module
    • Click Run button or press F5
    • Wait for seconds until to be show the complete message box.
    • Click OK to view the result.
Watch the step by step video here:


Popular posts from this blog

Insert Google Search box into blog/website

Normally, every  blog/website has a search function which supports everyone to easily browse the site contents. But it maybe not really useful and effective. Then Google Custom Search is a brilliant choice for you. How to get it?

Access with Google DNS and hosts file

Facebook is now the most popular social network. You have many friends and many informations which need to be check on it. But a day, you can't access Facebook or can't post an image. You can resolve this problem by simple steps:

Integrate blogspot blogger blog with Dot TK free domain

Blogspot or Blogger is a blog service from Google. This service provides us many functions to make a small website as creating a blog, posting, commenting, . . . But there is a thing which might cause you dissatisfy. That's the blog address is too long, like . If you own a short Dot TK domain , then your problems will be solved.