我有一些
风格的excel工作表Chris - contracter
简 - 员工
鲍勃 - 设施
Trey - 软件开发人员
并希望将这些工作表组合成格式为
的主工作表1 - Chris - contracter
1 - 简 - 员工
2 - Bob - 设施
2 - Trey - 软件开发人员
使用VBA我可以使用
将所有数据提取到一个工作表中NumSheets = Worksheets.Count
Worksheets(1).Select
Sheets.Add
ActiveSheet.Name = "All"
For X = 1 To NumSheets
Worksheets(X + 1).Select
curAgency = ActiveSheet.Name
NumRows = ActiveSheet.UsedRange.Rows.Count
Rows("5:" & NumRows).Select
Selection.Copy
Worksheets("All").Select
ActiveSheet.Range("B1").Paste
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Worksheets(X + 1).Select
Range("A1").Select
Next X
Worksheets("All").Select
Range("A1").Select
End Sub
但我不确定如何插入列并将组织名称附加到主列表中的每个组。
答案 0 :(得分:0)
请使用RDBMerge加载项,它将组合来自不同工作表的数据并为您创建主表。有关详细信息,请参阅以下链接。
http://duggisjobstechnicalstuff.blogspot.in/2013/03/how-to-merge-all-excel-worksheets-with.html
答案 1 :(得分:0)
我不知道我是否理解你的问题,但这可能有所帮助:
Sub MergeAll()
Dim r As Long, ws As Worksheet, rAll As Long, wsAll As Worksheet
Dim i As Long
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.name = "All"
Set wsAll = ActiveSheet
rAll = 2
For Each ws In Worksheets
If ws.name <> "All" Then
r = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 1 To r
wsAll.Cells(rAll, 1) = ws.name
wsAll.Cells(rAll, 2) = ws.Cells(i, 1)
wsAll.Cells(rAll, 3) = ws.Cells(i, 2)
rAll = rAll + 1
Next i
End If
Next ws
End Sub
我猜测,有一个包含多个工作表的Excel文件。每张表代表一个组织。 因此,makro将遍历每个工作表(除了名为“全部”的工作表),并将工作表的数据写入“全部”。 我希望这就是你所需要的。