Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

各ワークシートをExcelで個別の新しいブックとしてエクスポートして保存するにはどうすればよいですか?

XNUMXつまたは複数のワークシートを新しいワークブックとしてエクスポートして保存するとします。どのように処理しますか? 通常、各ワークシートをコピーして、新しいワークブックに貼り付けることができます。 しかし、ここでは、それに対処するためのいくつかの便利なトリックを紹介します。

[移動]または[コピー]コマンドを使用して、ワークシートを新しいブックとしてエクスポートおよび保存します

ワークシートをVBAコードを使用して新しいワークブックとしてエクスポートおよび保存します

Kutools for Excelを使用して、ワークシートを新しいワークブックとしてエクスポートおよび保存します 良いアイデア3


矢印青い右バブル [移動]または[コピー]コマンドを使用して、ワークシートを新しいブックとしてエクスポートおよび保存します

使い方 移動またはコピー コマンドを使用すると、XNUMXつまたは複数のワークシートを新しいブックにすばやくエクスポートまたはコピーできます。

ステップ1:タブバーでワークシート名を選択します。 押し続けると複数選択できます Ctrlキー キーまたは シフト キー。

ステップ2:ワークシート名を右クリックし、 移動またはコピー コンテキストメニューから。
ドキュメントエクスポートシート1

ステップ3:で 移動またはコピー ダイアログボックスで (新しい本) のドロップダウンリストからのアイテム 選択したシートを移動して予約する.

ドキュメントエクスポートシート2

ステップ4:次にクリック OK、これでに切り替えました 新しいワークブック エクスポートまたはコピーされたワークシートで、をクリックします フィレット > セールで節約 新しいワークブックを保存します。

注意: メディア 移動またはコピー ダイアログボックスには、 コピーを作成する オプション。 チェックしないと、選択したワークシートが元のブックから移動します。 チェックすると、選択したワークシートがコピーされます。


Excelで複数のワークシートを別々のブックにすばやく分割する

Microsoft Excelでは、このワークシートをコピーして新しいブックに貼り付けることにより、XNUMXつのブックのワークシートを新しいExcelファイルとして保存または分割できます。 大きなワークブックの各シート/ワークシートを個別のExcel、txt、csv、pdfファイルとして分割する場合は面倒なようです。 しかし、 Kutools for Excelさん 分割ワークブック ユーティリティ、あなたはすぐにそれに対処することができます。  フル機能を備えた30日間の無料トライアルをクリックしてください!
ドキュメント分割ワークブック1
 
Kutools for Excel:300を超える便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。

矢印青い右バブル ワークシートをVBAコードを使用して新しいワークブックとしてエクスポートおよび保存します

次のコードは、表示されているすべてのワークシートを新しいブックにエクスポートし、元のシートの名前で、アクティブなブックと同じパスに新しく作成されたフォルダーにワークブックを保存します。 次の手順に従ってください。

ステップ1: Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

ステップ2:クリック インセット > モジュール、モジュールウィンドウに次のマクロを貼り付けます。

VBA:ワークシートを新しいブックとしてエクスポートして新しいフォルダーに保存します。

Sub SplitWorkbook()
'Updateby20200806
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, "yyyy-mm-dd hh-mm-ss")
FolderName = xWb.Path & "\" & xWb.Name & " " & DateString

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

MkDir FolderName

For Each xWs In xWb.Worksheets
On Error GoTo NErro
    If xWs.Visible = xlSheetVisible Then
    xWs.Select
    xWs.Copy
    xFile = FolderName & "\" & xWs.Name & FileExtStr
    Set xNWb = Application.Workbooks.Item(Application.Workbooks.Count)
    xNWb.SaveAs xFile, FileFormat:=FileFormatNum
    xNWb.Close False, xFile
    End If
NErro:
    xWb.Activate
Next

    MsgBox "You can find the files in " & FolderName
    Application.ScreenUpdating = True
End Sub

ステップ3: F5 このコードを実行するためのキー。 また、新しくエクスポートされたワークブックの場所を示すプロンプトボックスがポップアップ表示され、元のワークブックのすべてのワークシートが、新しい特定のフォルダー内の元のシートに名前を付けたいくつかの新しい個別のワークブックにエクスポートされました。 スクリーンショットを参照してください:

ドキュメントエクスポートシート7

矢印青い右バブル Kutools for Excelを使用して、ワークシートを新しいワークブックとしてエクスポートおよび保存します

複数のワークシートを個別のブックとして保存する必要がある場合、最初の方法は適切な選択ではありません。 また、VBAコードは、Excelの初心者にとっては少し複雑かもしれません。 ここでは、 分割ワークブック の有用性 Kutools for Excel XNUMXつのワークブックの各ワークシートをすばやく簡単にエクスポートして保存し、新しいワークブックを分離します。

Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 

後の 無料インストール Kutools for Excel、以下のようにしてください:

ステップ1:クリック クツールズプラス > ワークブック > 分割ワークブック…。 スクリーンショットを参照してください:
ドキュメントエクスポートシート3

ステップ2: 分割ワークブック ダイアログボックスで、次のようにします。

ドキュメントエクスポートシート4
1: すべてのワークシート名はデフォルトでチェックされています。一部のワークシートを分割したくない場合は、チェックを外すことができます。


2: 非表示または空白のワークシートの分割を避けたい場合は、 非表示のワークシートをスキップする or 空白のワークシートをスキップする)。


3: そしてまたあなたはチェックすることができます 保存を指定します フォーマットし、シートの分割を選択して、テキストファイル、PDFファイル、またはcsvファイルとしてデフォルトで保存します。このオプションをオンにしないと、シートが分割され、ブックとして保存されます。

ステップ3:次にクリック スプリット ボタンをクリックし、新しいブックを配置するフォルダーを選択します。 スクリーンショットを参照してください:
ドキュメントエクスポートシート6

ステップ4:次にクリック OK、次に、チェックされた各ワークシート 分割ワークブック ダイアログボックスがエクスポートされ、個別のブックとして保存されます。 新しい各ワークブックには、元のワークシート名で名前が付けられます。 スクリーンショットを参照してください:
ドキュメントエクスポートシート5

この分割ワークブックツールの詳細については、ここをクリックしてください.

矢印青い右バブル 各シートを新しいワークブックとしてエクスポートして保存します


Excelの列または固定行に基づいてデータを複数のワークシートにすばやく分割する

列AからGにデータがあるワークシートがあり、セールスマンの名前が列Aにあり、同じワークブックの列Aに基づいてこのデータを複数のワークシートに自動的に分割する必要があり、各セールスマンは新しいワークシートに分割されます。ワークシート。 Kutools for Excelさん 分割日 ユーティリティは、Excelに表示されている以下のスクリーンショットのように、選択した列に基づいてデータを複数のワークシートにすばやく分割するのに役立ちます。  フル機能の30日間無料トライアルをクリックしてください!
ドキュメント分割データ2
 
Kutools for Excel:300を超える便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。

関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300以上の強力な機能。 Office / Excel2007-2019および365をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 全機能30日間の無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
Say something here...
symbols left.
You are guest
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.
    Nadine · 5 months ago
    Thank you so much ! great and useful.
  • To post as a guest, your comment is unpublished.
    Sameer Kuppanath · 8 months ago
    For Each xWs In xWb.Worksheets

    How to do export only selected / grouped sheets to separate excel sheets by using this code.?
  • To post as a guest, your comment is unpublished.
    Issybeee · 11 months ago
    Hi there,

    Keep getting a pop up that says 'compile error, invalid outside procedure' when i try and run the code. Any thoughts? Thanks for all your help.
    • To post as a guest, your comment is unpublished.
      Sunny · 11 months ago
      Hi, Issybeee, I have update the VBA code in the tutorial, you can try the new one again.
  • To post as a guest, your comment is unpublished.
    Tobias vP · 1 years ago
    For those of you who save macros in your "Personal.XLSB" or XLSTART (I see more questions below related to this), change the line

    Set xWb = Application.ThisWorkbook to

    Set xWB = ActiveWorkbook

    That will make the macro run from the Active Workbook instead and save in a subfolder to that.

  • To post as a guest, your comment is unpublished.
    Diego · 1 years ago
    With the first method, if I hit F5, it opens a pop up window with the function "Go to". My excel is in spanish, im not sure if that is a factor. Any idea on how to fix it?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      You can directly click the Run button of the Microsoft Visual Basic for Applications window.
  • To post as a guest, your comment is unpublished.
    kerstin · 2 years 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 · 2 years 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.
      Sunny · 1 years ago
      Hi, SS, if you want to export a specific selection as a individual file, this article can help you https://www.extendoffice.com/documents/excel/626-excel-save-selection.html
  • To post as a guest, your comment is unpublished.
    JR · 2 years 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 · 2 years ago
    very nice.... Thanks
  • To post as a guest, your comment is unpublished.
    PK · 2 years 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 · 2 years 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 · 1 years ago
        xWs.Copy this methode give me an erreor 1004
  • To post as a guest, your comment is unpublished.
    Sergii · 2 years 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 · 2 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.
      Sunny · 2 years ago
      Sorry, I have no idea,neither.
  • To post as a guest, your comment is unpublished.
    Jenne · 2 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 · 3 years ago
    what is the use of Worksheet.Save??
    • To post as a guest, your comment is unpublished.
      erick · 3 years ago
      to save the changes made
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      What? I do not understand.
  • To post as a guest, your comment is unpublished.
    Eunice · 3 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.
    Borges · 3 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.
      Sunny · 3 years ago
      Soryy I did not know a code can do that, but you can split the workbook first, then apply Kutools for Excel's Create Mailing List and Send Emails utilities to create a mailing list, and then send the reports as attachments to each person. For more detail, please go to visit this article https://www.extendoffice.com/product/kutools-for-excel/excel-create-mailing-list-and-send-email.html
  • To post as a guest, your comment is unpublished.
    dilshadrana46@gmail.com · 3 years ago
    i cant find enterprise toolbar kindly help me
  • To post as a guest, your comment is unpublished.
    dilshadrana46@gmail.com · 3 years ago
    this code cahnge dates in my sheets
    • To post as a guest, your comment is unpublished.
      Sunny · 3 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 · 3 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 · 3 years ago
      Sorry, I have no idea about your problem.
  • To post as a guest, your comment is unpublished.
    Peggy · 3 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 · 3 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 · 4 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.
      Sunny · 3 years ago
      Thanks for your leaving message, you can apply Kutools for Excel's Rename Multiple Worksheets to rename every sheets of the workbook firstly, then use one of above methods to export or save the sheets separately as workbook. If you want to know more detail on Rename Multiple Worksheet utility, please visit this:https://www.extendoffice.com/product/kutools-for-excel/batch-rename-excel-worksheets.html
  • To post as a guest, your comment is unpublished.
    Sarfraz · 4 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 · 4 years ago
    This is exactly what I needed! Awesome!
  • To post as a guest, your comment is unpublished.
    Rae · 4 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 · 4 years ago
    Your code worked for me... Thanks much!!!
  • To post as a guest, your comment is unpublished.
    Richard · 4 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 · 5 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 · 5 years ago
    Run time error Method 'Copy of Object' worksheet' failed
  • To post as a guest, your comment is unpublished.
    Beth G · 5 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 · 5 years ago
    Great article - VBA worked first time - perfect
  • To post as a guest, your comment is unpublished.
    Charlie Clarke · 5 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 · 5 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 · 5 years ago
    Very Useful thanks! Loved the VBA Code
  • To post as a guest, your comment is unpublished.
    fauzan · 6 years ago
    thank. terimakasih. ini code yang saya butuhkan
  • To post as a guest, your comment is unpublished.
    farfan · 7 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 · 7 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 · 7 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 · 7 years ago
    Thank you. This is esactly what I needed.
  • To post as a guest, your comment is unpublished.
    Phani · 7 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 · 7 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 · 7 years ago
    Thanks a lot. Good Job!.
  • To post as a guest, your comment is unpublished.
    Sean · 7 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 · 7 years ago
    thanks alot, works very well and easy.