根据列标题将Excel电子表格拆分为不同的工作表

时间:2016-03-22 08:25:23

标签: excel

我有一个包含45列的电子表格。有些列包含相同类型的信息,我将这些列组合在一个公共列标题下。

请参阅下面的电子表格以获取示例。

Spreadsheet

参考上面的示例,我想基于顶部列标题(而不是值)将电子表格拆分为三个不同的工作表。因此,除了包含所有信息的原始工作表之外,还应该有三个名为“主要信息”,“辅助信息”和“更多信息”的工作表。

在每个新工作表下,我想查看与该特定列标题相关的所有信息,例如名为“主要信息”的工作表应显示名称,年龄和性别的所有字段。

1 个答案:

答案 0 :(得分:0)

这样的事情对你有用......

Option Explicit

Public Sub Split()
Dim c, i As Integer
    c = 1
Dim ws As Worksheet

Do Until ActiveSheet.Cells(1, c) = ""
    Sheet1.Cells(1, c).Select
    i = ActiveCell.MergeArea.Columns.Count + c - 1
    Sheet1.Range(Cells(2, c), Sheet1.Cells(Sheet1.UsedRange.Rows.Count, i)).Copy
    With ActiveWorkbook
        Set ws = .Worksheets.Add(After:=Sheets(.Sheets.Count))
        ws.Name = Sheet1.Cells(1, c)
    End With
    ws.Activate
    ws.Cells(1, 1).Select
    ActiveSheet.Paste
    c = i + 1
    Sheet1.Activate
Loop

End  Sub