如何在 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 中的每一行创建新的工作表以突出显示特定数据集。
广告