我有一个包含45列的电子表格。有些列包含相同类型的信息,我将这些列组合在一个公共列标题下。
请参阅下面的电子表格以获取示例。
参考上面的示例,我想基于顶部列标题(而不是值)将电子表格拆分为三个不同的工作表。因此,除了包含所有信息的原始工作表之外,还应该有三个名为“主要信息”,“辅助信息”和“更多信息”的工作表。
在每个新工作表下,我想查看与该特定列标题相关的所有信息,例如名为“主要信息”的工作表应显示名称,年龄和性别的所有字段。
答案 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