回覆列表
  • 1 # 極客談科技

    “關注網路極客,新視角、新思路,帶你感受神奇的網路世界”

    拆分Excel工作簿中的多個工作表是一件很簡單的事情,僅需要執行一次查分公式即可。下面,我們就來看看如何實現吧。

    Excel拆分工作表

    1.例如,我們有一個Excel工作簿,有三張工作表,分別是一、二、三表,目的想要分別拆分這三個表。

    2.右擊工作表名稱,比如這裡右擊“一”這個工作表,彈出的視窗中單擊“檢視程式碼”

    3.在彈出的對話方塊中,輸入如下程式碼

    Private Sub 分拆工作表()

      Dim sht As Worksheet

      Dim MyBook As Workbook

      Set MyBook = ActiveWorkbook

      For Each sht In MyBook.Sheets

      sht.Copy

      ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name, FileFormat:=xlNormal "將工作簿另存為EXCEL預設格式

      ActiveWorkbook.Close

      Next

      MsgBox "檔案已經被分拆完畢!"

      End Sub

    4.單擊“執行”中的“執行子過程/使用者窗體”

    5.之後會彈出檔案已經分拆完畢提示

    6.可以看到當前資料夾下面拆分玩的三個檔案

  • 2 # 樂享所知

    主要有兩種方法:VBA+外掛

    方法一:VBA

    此方法需要一定的門檻,需求不同,程式碼也不同(但都大同小異),這裡就不詳解,上一樓已經貼出程式碼了,這裡也把我之前寫的一個外掛的程式碼拿出來供大家參考!

    Sub 批次將工作表轉為獨立工作簿()

    Dim Sht As Worksheet, myPath$

    Application.DisplayAlerts = False

    "取消顯示系統警告和訊息

    Application.ScreenUpdating = False

    "取消螢幕重新整理

    With Application.FileDialog(msoFileDialogFolderPicker)

    "選擇儲存工作薄的檔案路徑

    .AllowMultiSelect = False

    "不允許多選

    If .Show Then

    myPath = .SelectedItems(1)

    "讀取選擇的檔案路徑

    Else

    Exit Sub

    "如果沒有選擇儲存路徑,則退出程式

    End If

    End With

    If Right(myPath, 1) <> "\" Then myPath = myPath & "\"

    For Each Sht In Worksheets

    "遍歷工作表

    Sht.Copy

    "複製工作表,工作表單純複製後,成為活動工作薄

    With ActiveWorkbook

    .SaveAs myPath & Sht.name, xlWorkbookDefault

    "儲存活動工作薄到指定路徑下

    .Close True "關閉工作薄

    End With

    Next

    MsgBox "處理完成。", , "提醒"

    Application.ScreenUpdating = True "恢復螢幕重新整理

    Application.DisplayAlerts = True "恢復顯示系統警告和訊息

    End Sub

    方法二:外掛

    按照如下順序進行操作

    得到如下結果:

    它的功能還不知這些,還有許多功能,很強大。

    關於外掛的詳細介紹請閱讀我寫的文章《一款無需安裝的免費Excel載入宏外掛,功能強大,值得擁有!》

  • 中秋節和大豐收的關聯?
  • 古人云:“廢長立幼,違禮不祥”為什麼還有那麼多的帝王掉進這個坑裡?