Опитвам се да обединя редове, които съдържат подобни данни, като използвам възможно най-лесния метод, но предполагам, че ще изисква малко VBA. Ако някой може да ме насочи в правилната посока, ще бъде страхотно.
Пример за това, което се опитвам да постигна е:
NAME | AGE| AREA
John | 32 | Portsmouth
Will | 32 | Portsmouth
Matt | 28 | Southampton
Dave | 32 | Portsmouth
Phil | 28 | Southampton
Tony | 25 | Winchester
Се превърна в:
AGE| AREA | Name 1 | Name 2 | Name 3 |
32 | Portsmouth | John | Dave | Will |
28 | Southampton | Matt | Phil | |
25 | Winchester | Tony | | |
РЕДАКТИРАНЕ: Успях да събера заедно това, от което се нуждая, но изглежда, че поставя недублиращите се данни в една и съща колона, за разлика от предпочитаната от мен Name 1 | Name 2 | Name 3
някакви мисли за актуализиране на това, за да попълва отделни клетки, а не едно и също?
Ето актуализацията:
Sub mergeCategoryValues()
Dim lngRow As Long
With ActiveSheet
Dim columnToMatch As Integer: columnToMatch = 2
Dim columnToConcatenate As Integer: columnToConcatenate = 1
lngRow = .Cells(65536, columnToMatch).End(xlUp).Row
.Cells(columnToMatch).CurrentRegion.Sort key1:=.Cells(columnToMatch), Header:=xlYes
Do
If .Cells(lngRow, columnToMatch) = .Cells(lngRow - 1, columnToMatch) Then
.Cells(lngRow - 1, columnToConcatenate) = .Cells(lngRow - 1, columnToConcatenate) & "; " & .Cells(lngRow, columnToConcatenate)
.Rows(lngRow).Delete
End If
lngRow = lngRow - 1
Loop Until lngRow = 1
End With
End Sub
point me in the right direction
. Какво се счита заright direction
в този случай? Можете да наемете фрийлансър, ако не знаете VBA, но ако знаете, покажете опита си за решаване на проблема и след това ни кажете какво не работи и къде точно сте заседнали. В сегашния си вид въпросът ви не е по темата за Stack Overflow. Вижте помощния център за информация. - person   schedule 18.03.2014