У мене великий файл Excel з тисячами рядків, що містять тестові дані. Я їх сортував за ідентифікаторами у стовпцях, і я намагаюся з’ясувати, які повторювані тести були запущені.
Існує 5 стовпців, що містять дані, які мені важливі для кожного рядка. Чи може хтось допомогти мені написати макрос VBA, щоб знайти рядки з унікальними комбінаціями цих тестів та створити список різних комбінацій, присутніх на аркуші? В ідеалі я хотів би, щоб цей список відобразився на окремому аркуші.
Я не хочу, щоб ці дані були в зведеній таблиці, оскільки таблиця стає занадто великою, щоб виводити з неї будь-яку інформацію.
Я грав з функціями з'єднання, але оскільки в деяких стовпцях відсутні дані, він не робить те, що мені потрібно для цього. Я додав код, який я намагався змінити, який знайшов у іншому дописі тут. У мене виникають проблеми з оператором If в кінці (я навіть не думаю, що він буде робити те, що я хочу), тому що я отримую помилку невідповідності типу. Я новачок у VBA, тому я стикаюся з багатьма проблемами.
Дякую!!
Sub GetCombinations()
Dim sheet1, sheet2 As Worksheet
Set sheet1 = Worksheets("Data")
Set sheet2 = Worksheets("Sort")
Dim sStartColumn As String
Dim iTopRow As Long
Dim sEndColumn As String
Dim iBottomRow As Long
sStartColumn = "AS"
iTopRow = 6
sEndColumn = "AU"
iBottomRow = sheet1.UsedRange.Rows.Count
Dim Rng As Range
Dim sRange1 As String
sRange1 = sStartColumn & CStr(iTopRow) & ":" & sEndColumn & CStr(iBottomRow)
Set Rng = sheet1.Range(sRange1)
Rng.Sort Key1:=Range("AS6"), Order1:=xlAscending, _
Key2:=Range("AU1203"), Order2:=xlAscending, _
Orientation:=xlSortColumns, Header:=xlYes
Dim j As Integer
Dim i As Integer
j = 2
For i = 7 To iBottomRow
If sheet1.Cells(i, 45) Then
sheet2.Cells(j, 1) = sheet1.Cells(i, 1)
sheet2.Cells(j, 2) = sheet1.Cells(i, 2)
sheet2.Cells(j, 3) = sheet1.Cells(i, 5)
j = j + 1
End If
Next i
Кінець Під