这是一个头脑风暴......
我有一个巨大的电子表格(最多为GA,397),其中包含顶部的组列表以及从这些组中删除的所有组成员。
(我也有备用方向的数据)
我分别列出了所有独特成员和所有组。
我需要的是数据摘要,显示成员列表及其所属的每个组(理想情况下,列在不同的行或列中的组,以便对其进行过滤和搜索)。
我想到了枢轴 - 但数据太大而不实用,我对基本宏有一点经验。
有人有任何建议吗?
谢谢, 波比
答案 0 :(得分:0)
以下代码如何:
Sub test()
Dim i As Integer
Dim inputWS As Worksheet, outputWS As Worksheet
Set inputWS = Sheets("input")
Set outputWS = Sheets("output")
i = 1
For Each cell In inputWS.Range("A2:B374")
i = i + 1
outputWS.Cells(i, "A").Value = cell.Value
outputWS.Cells(i, "B").Value = inputWS.Cells(1, cell.Column).Value
Next
End Sub
取决于您需要根据所需范围进行修改的原始范围,将从工作表中提取所有数据"输入",将其填入列" A"表"输出"并且还将原始范围的每个元素的标题(第一行中的值)添加到列" B" "输出"片。这将为您提供更强大的列表来进行转移。 附:当然,只有当我正确理解你的要求时,这很方便,不幸的是,这并不像我希望的那样清楚
修改强> 在您的评论中,请尝试以下操作:
Sub test()
Dim col As Integer, rw As Integer, counter As Integer
Dim inputWS As Worksheet, outputWS As Worksheet
Set inputWS = Sheets("input")
Set outputWS = Sheets("output")
counter = 0
For rw = 2 To inputWS.Cells(Rows.Count, 1).End(xlUp).Row
For col = 2 To inputWS.Cells(rw, Columns.Count).End(xlToLeft).Column
counter = counter + 1
outputWS.Cells(counter, 1).Value = inputWS.Cells(rw, col).Value
outputWS.Cells(counter, 2).Value = inputWS.Cells(rw, 1).Value
Next
Next
End Sub
这将规范化输出表单上的数据,将所有成员放在A列中,将所有成员放入B列,创建多个条目,之后对数据放置成员作为行标签和组作为列标签并对值字段中的任一字段进行计数。这意味着,相反在每个名称旁边显示组名称,它将在每个组标题下方显示非空白单元格,这是否可以接受?