怎么才能让筛选出的数据自动生成一个工作簿表格,就是从一个表中筛选出多个数据然后生成多个表格?

可以是宏

您可以使用VBA编写宏来实现自动筛选和自动生成多个工作表的功能。以下是一个基本的VBA示例,可将选定列中每个唯一值作为标签自动创建新工作表,并将相关数据复制到该工作表中:
Sub CreateNewSheets()
Dim ws As Worksheet
Dim newSheet As Worksheet
Dim lastRow As Long
Dim colIndex As Integer
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Set ws = ActiveSheet
lastRow = ws.Cells(Rows.Count, "A").End(xlUp).Row '根据需要更改列号
colIndex = 1 '根据需要更改列号
For i = 2 To lastRow
dict(ws.Cells(i, colIndex).Value) = 1
Next i
For Each key In dict.keys
Set newSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
newSheet.Name = key
ws.Range("A1").AutoFilter Field:=colIndex, Criteria1:=key
ws.Range("A1").CurrentRegion.Copy Destination:=newSheet.Range("A1")
ws.AutoFilterMode = False
Next key
End Sub
您可以将此代码复制并粘贴到Visual Basic Editor中,并在需要的工作表上运行该宏。请注意,您需要根据需要更改代码中的列号。
此宏假设您要按列A中的唯一值筛选数据,并使用唯一值作为新工作表的名称。如果您需要更改筛选的列或新工作表名称的生成方式,请相应地修改代码。
另外,请注意,此宏将自动在新工作表中创建筛选后的数据的副本,并不会将数据移动或删除原始工作表中。如果您需要将数据移动到新工作表中并删除原始数据,请修改代码以执行此操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-06

您可以使用Microsoft Excel中的“拆分数据”功能来实现您所说的自动生成多个工作簿表格的目的。具体步骤如下:

    将您要筛选的数据表格复制到新的工作表中。

    在新工作表中选择数据,然后在“数据”选项卡中点击“拆分数据”。

    在“拆分数据”对话框中,选择“每个不同值创建新表”选项,然后选择要创建表格的列。您还可以选择将表格放置在现有工作簿中的新工作表中,或者将它们保存为新的工作簿。

    点击“确定”后,Excel将根据所选列中的不同值创建多个表格,并将它们放置在新工作簿或新工作表中,具体取决于您在第三步中的选择。

第2个回答  2023-04-02
透视表也有这个功能,不知道能不能满足你的需求。
第3个回答  2023-03-31
VBA可以写