如何在 Excel 中為每一行建立新的工作表


如果您曾經使用 Excel 管理大量資料並希望有更簡單的方法來組織它,那麼您來對地方了。本教程將逐步向您展示如何自動為 Excel 電子表格中的每一行生成新的工作表。假設一個電子表格有數百行甚至數千行,每一行代表一個不同的資料條目。跟蹤所有內容並保持清晰的檢視可能很困難。透過為每一行建立新的工作表,您可以簡化您的流程並輕鬆瀏覽您的資料。

無論您是商業專業人士、學生,還是隻是經常處理資料的人,此影片都將幫助您最大程度地利用 Excel 體驗並簡化您的資料管理任務。要學習本教程,不需要事先了解 VBA 或 Excel 宏。我們將逐步引導您完成每個步驟,同時清楚地定義主題並指導您完成每個階段。完成本教程後,您將能夠使用 Excel 為每一行建立自己的獨特工作表,從而在執行資料管理任務時節省時間和精力。所以讓我們開始吧,通過了解如何為每一行建立新的工作表來發現 Excel 的全部潛力!

為每一行建立新的工作表

在這裡,我們將首先建立一個 VBA 模組,然後執行它來完成任務。因此,讓我們看看一個簡單的過程,瞭解如何在 Excel 中為每一行建立新的工作表。

步驟 1

考慮一個 Excel 工作表,其中工作表中的資料類似於下圖。

首先使用 Alt + F11 開啟 VBA 應用程式。

步驟 2

然後單擊“插入”並選擇“模組”,然後將以下程式碼複製到文字框中。

插入 > 模組 > 複製。

示例

Sub parse_data()
   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 以完成任務。

注意:如果您想在不考慮單元格值的情況下建立工作表,請使用以下程式碼。

示例

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

結論

在本教程中,我們使用了一個簡單的示例來演示如何為 Excel 中的每一行建立新的工作表以突出顯示特定資料集。

更新於: 2023年7月12日

3K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.