将我的元素在列中分组
问题描述:
我想创建代码,通过给他们一个名称来将另一个列中的每个元素分组。例如:将我的元素在列中分组
Year: colour:
2015 blue
2014 red
2003 yellow
2011 blue
2006 red
如果年份是2015
或2011
给的颜色必须是“蓝色”,如果年份是2014
或2006
颜色必须是“红色”。
答
假设罢了不会发生,我只是写一个解决方案:
Sub test()
Dim c As Range, i As Long
Set c = Cells(1, 4)
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
Do
If Len(c.Value) = 0 Then
c.Value = Cells(i, 2).Value: c.Offset(1).Value = Cells(i, 1).Value: Exit Do
ElseIf c.Value = Cells(i, 2).Value Then
Cells(Cells(Rows.Count, c.Column).End(xlUp).Row + 1, c.Column).Value = Cells(i, 1).Value: Exit Do
Else
Set c = c.Offset(, 1)
End If
Loop Until Len(c.Offset(, -1).Value) = 0
Set c = Cells(1, 4)
Next
End Sub
由于这个答案已经被调整到只有解决了这个问题,它需要调整任何不同......
我建议先在第二列开始一个循环...虽然没有捕捉任何双打......稍后你可以建立一张桌子,而每个标题都是唯一的(红色,蓝色......) –
是的,我绝对会去为它,我不用VB代码,所以我可能可以精炼一个代码,但创建一个全新的将是艰难的,我该如何开始? –
'对于给定范围的每个...'。并为每个项目(除第一个)检查它的目标数组... –