Excelで行ごとに新しいシートを作成するにはどうすればよいですか?
列Aにすべての学生の名前が含まれるスコアテーブルがあるとします。次に、列Aのこれらの名前に基づいて新しいシートを作成し、シートごとに一意の学生のデータが含まれているとします。 または、列Aの名前を考慮せずに、テーブルの各行に対して新しいシートを作成するだけです。このビデオでは、それを実現するためのメソッドを取得します。
VBAコードを使用して行ごとに新しいシートを作成します
Kutools forExcelのSplitDataユーティリティを使用して、行ごとに新しいシートを作成します
VBAコードを使用して行ごとに新しいシートを作成します
次のコードを使用すると、列の値に基づいて新しいシートを作成することも、Excelの各行に新しいシートを作成することもできます。
1。 押す 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール。 次に、次のコードをに貼り付けます モジュール 窓。
VBAコード:列に基づいて行ごとに新しいシートを作成します
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub
注意:A1:C1はテーブルのタイトル範囲です。 必要に応じて変更できます。
3。 押す F5 コードを実行するためのキーを押すと、以下のスクリーンショットのように、現在のワークブックのすべてのワークシートの後に新しいワークシートが作成されます。
列の値を考慮せずに行ごとに新しいシートを直接作成する場合は、次のコードを使用できます。
VBAコード:行ごとに新しいシートを直接作成します
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub
コードを実行すると、アクティブなワークシートの各行が新しいワークシートに配置されます。
注意:見出し行も、このVBAコードを使用して新しいシートに配置されます。
Kutools forExcelのSplitDataユーティリティを使用して、行ごとに新しいシートを作成します
実際、上記の方法は複雑で理解しにくいものです。 このセクションでは、 分割データ の有用性 Kutools for Excel.
申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.
1.新しいシートの作成に使用する必要のあるテーブルを選択し、[ クツールズプラス> スピットデータ。 スクリーンショットを参照してください:
2。 の中に データを複数のワークシートに分割する ダイアログボックスは、次のようにしてください。
A.列の値に基づいて新しいシートを作成するには:
B.各行に新しいシートを直接作成する場合:
すべての新しいシートが入った新しいワークブックが作成されます。 以下のスクリーンショットを参照してください。
列の値に基づいて各行に新しいシートを作成します。
列の値を考慮せずに各行に新しいシートを作成する:
無料トライアルをご希望の方は(30-day) このユーティリティの クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。
Kutools forExcelのSplitDataユーティリティを使用して、行ごとに新しいシートを作成します
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!





























