メインコンテンツへスキップ

Excel で行数に基づいてデータを複数のワークシートに分割する

特定の行数に基づいて大規模なデータ範囲を複数の Excel ワークシートに効率的に分割すると、データ管理を合理化できます。たとえば、データセットを 5 行ごとに複数のシートに分割すると、データセットをより管理しやすく、整理することができます。このガイドでは、このタスクを迅速かつ簡単に実行するための XNUMX つの実用的な方法を紹介します。

VBAコードを使用した行数でデータを複数のワークシートに分割する

Kutools for Excelを使用して、データを行数で複数のワークシートに分割します


VBAコードを使用した行数でデータを複数のワークシートに分割する

次のVBAコードは、行数によって行を複数のワークシートに分割するのに役立ちます。次のようにします。

1。 を押し続けます Alt + F11 キーを開く アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

VBA: Excel で行数に基づいてデータをワークシートに分割する

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3。 次に、 F5 キーを押して、ポップアップダイアログボックスでヘッダー行を選択します。スクリーンショットを参照してください。

4。 次に、をクリックします。 OK、およびXNUMX番目のプロンプトボックスで、行数で分割するデータ範囲を選択します。スクリーンショットを参照してください。

5。 クリックしてください OK ボタンのXNUMX番目のプロンプトボックスに、分割する行数を入力します。スクリーンショットを参照してください。

6。 次に、をクリックします。 OK ボタンをクリックすると、データは行数に基づいて複数のワークシートに分割されます。スクリーンショットを参照してください。


Kutools for Excelを使用して、データを行数で複数のワークシートに分割します

VBA コードが複雑だと思われる場合は、 Kutools for Excel は、データ分割の問題に効率的に対処するための迅速かつ直感的なソリューションを提供します。これ 分割データ この機能により操作プロセスが簡素化され、あらゆるスキル レベルのユーザーが深いプログラミング知識を必要とせずに大規模なデータセットを複数のワークシートに簡単に分割できるようになり、効果的なデータ管理が容易になります。

Kutools for Excel 300以上の便利なExcelツールが含まれています。 30日以内に制限なしで無料でお試しいただけます。 今すぐ入手

あなたがインストールしている場合 Kutools for Excel、次のようにしてください。

1。分割したいデータの範囲を選択し、 をクリックします。 クツールズプラス > 分割データ、スクリーンショットを参照してください:

3。 の中に データを複数のワークシートに分割する ダイアログボックス:

  • 選択 固定行   に基づいて分割 オプションを選択し、ワークシートごとに分割する行数を入力します。
  • データにヘッダーがあり、それらを新しい分割ワークシートのそれぞれに挿入したい場合は、チェックを入れてください。 私のデータにヘッダーがあります オプション。 (先端: データに基づいて牧畜列の数を入力できます。)
  • 次に、分割ワークシート名を下で指定できます。 新しいワークシート名 セクションで、ワークシート名のルールを キャンペーンのルール ドロップダウンリスト、あなたは追加することができます 接頭辞 or サフィックス シート名にも。 

4。 設定を指定したら、をクリックします OK、および選択したデータは、5行ごとに新しいワークブックの複数のワークシートに分割されています。 そして、ヘッダーは新しいワークシートごとに挿入されます。 スクリーンショットを参照してください:

Note: この機能を適用するには、 Kutools for Excelをダウンロードしてインストールします 最初。

関連記事:

  • 列に基づいてデータを複数のワークシートに分割する
  • 巨大なデータ行を含むワークシートがあり、名前列に基づいてデータを複数のワークシートに分割する必要があるとします (次のスクリーンショットを参照)。名前はランダムに入力されます。まずそれらを並べ替えてから、それらを 1 つずつコピーして他の新しいワークシートに貼り付けることができます。ただし、これを繰り返しコピーして貼り付けるには忍耐が必要です。今日は、このタスクを解決するための簡単なトリックについて説明します。
  • 重複する行を結合し、Excelで値を合計します
  • Excel では、重複したエントリを含むデータセットに遭遇するのが一般的なシナリオです。 多くの場合、さまざまなデータがあり、次のスクリーンショットに示すように、これらの重複行を効率的に結合しながら、同時に対応する列の値を合計することが重要な課題となることがあります。 これに関連して、重複データを統合し、それらに関連する値を集計して、Excel ブックの明瞭さと実用性の両方を高めるのに役立ついくつかの実用的な方法を詳しく説明します。
  • キー列に基づいて 2 つ以上のテーブルを 1 つにマージします
  • ブックにXNUMXつのテーブルがあるとすると、次に示すスクリーンショットのように、対応するキー列に基づいてこれらのテーブルをXNUMXつのテーブルにマージし、結果を取得します。 これは私たちのほとんどにとって厄介な作業かもしれませんが、心配しないでください、この記事では、この問題を解決するためのいくつかの方法を紹介します。

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

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (25)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Very useful thank u so much
This comment was minimized by the moderator on the site
Its awesome!
Rated 5 out of 5
This comment was minimized by the moderator on the site
But header is not retaining in the output. Please guide me if any solution.
This comment was minimized by the moderator on the site
Can we split this same data but by using a code in php?
This comment was minimized by the moderator on the site
U are the savior my brother. Take love from Bangladesh <3 
This comment was minimized by the moderator on the site
Is there a way to keep the header across all worksheet?
For example, row 1 is the column names and row 2 to row 51 are my data. When I split it into 10 worksheets, I hope to have row 1 be the header and row 2-6 be the data.
This comment was minimized by the moderator on the site
this was very helpful. thank you
This comment was minimized by the moderator on the site
I have 20 million data in excel. I need to segregate it with first 2500 rows followed by 250 data so on. How can I do it quickly.
This comment was minimized by the moderator on the site
Minmatar detected :O
This comment was minimized by the moderator on the site
thank you. saved a lot of my time.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations