0
我想創建代碼,通過給他們一個名稱來將另一個列中的每個元素分組。例如:將我的元素在列中分組
Year: colour:
2015 blue
2014 red
2003 yellow
2011 blue
2006 red
如果年份是2015
或2011
給的顏色必須是「藍色」,如果年份是2014
或2006
顏色必須是「紅色」。
我想創建代碼,通過給他們一個名稱來將另一個列中的每個元素分組。例如:將我的元素在列中分組
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代碼,所以我可能可以精煉一個代碼,但創建一個全新的將是艱難的,我該如何開始? –
'對於給定範圍的每個...'。併爲每個項目(除第一個)檢查它的目標數組... –