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
Note: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
コードを実行すると、アクティブなワークシートの各行が新しいワークシートに配置されます。
Note:見出し行も、このVBAコードを使用して新しいシートに配置されます。
Kutools forExcelのSplitDataユーティリティを使用して、行ごとに新しいシートを作成します
実際、上記の方法は複雑で理解しにくいものです。 このセクションでは、 分割データ の有用性 Kutools for Excel.
申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.
1.新しいシートの作成に使用する必要のあるテーブルを選択し、[ クツールズプラス> スピットデータ。 スクリーンショットを参照してください:
2。 の中に データを複数のワークシートに分割する ダイアログボックスは、次のようにしてください。
A.列の値に基づいて新しいシートを作成するには:
B.各行に新しいシートを直接作成する場合:
すべての新しいシートが入った新しいワークブックが作成されます。 以下のスクリーンショットを参照してください。
列の値に基づいて各行に新しいシートを作成します。
列の値を考慮せずに各行に新しいシートを作成する:
このユーティリティの無料トライアル(30日)が必要な場合は、 クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。
Kutools forExcelのSplitDataユーティリティを使用して、行ごとに新しいシートを作成します
最高のオフィス生産性向上ツール
🤖 | 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!