如何下面的代码:根据原始范围
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”中。这会给你一个更强大的列表来做一个关键。 P.S.这是很方便的当然只是如果我理解您的要求正确,这是不幸的是不明确的,因为我倒是希望
编辑 以下从您的评论请尝试以下操作:
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列,创建多个条目,之后对数据进行一次数据透视,将成员放置为行标签和组作为列标签,然后进行计数值域中的字段。这意味着在每个名称旁边显示组名称后,它会在每个组头名下面显示非空白单元格,这是否可以接受?
你可以把它放在[PowerPivot](http://www.microsoft.com/en-us/download/details.aspx?id=29074) - 处理像冠军一样的大型数据集。 – JasonAizkalns 2014-12-04 15:19:35