Ребята всем привет, как реализовать макросом? Есть два столбца А и С в каждом списки наименований.Как вывести в столбцы F и H(либо на отдельный лист) уникальные значения столбца А по сравнению со столбцом С и уникальные значения в столбце С по сравнению с А? В каждом столбце А и С может быть до 10000 наименований
Ребята всем привет, как реализовать макросом? Есть два столбца А и С в каждом списки наименований.Как вывести в столбцы F и H(либо на отдельный лист) уникальные значения столбца А по сравнению со столбцом С и уникальные значения в столбце С по сравнению с А? В каждом столбце А и С может быть до 10000 наименованийvermut
Так это Pelena, Вам просто показала настройки фильтра. Сам фильтр вызвать так: Данные -- Сортировка и фильтр -- Дополнительно или сочетанием клавишь так: Alt ЫЛ
Так это Pelena, Вам просто показала настройки фильтра. Сам фильтр вызвать так: Данные -- Сортировка и фильтр -- Дополнительно или сочетанием клавишь так: Alt ЫЛ SLAVICK
vermut, добрый вечер,вариант макроса(запускать с активным Лист1), с выводом результата на Лист2,кнопки use и очистка
[vba]
Код
Sub test1() Dim z1, z, m&, i&: z = Range("A3:C" & Range("A" & Rows.Count).End(xlUp).Row).Value ReDim z1(1 To UBound(z), 1 To 1) With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z) .Item(z(i, 1)) = .Item(z(i, 1)) + 1 Next For i = 1 To UBound(z) .Item(z(i, 3)) = .Item(z(i, 3)) + 1 Next For i = 1 To UBound(z) If .Item(z(i, 1)) = 1 Then m = m + 1: z1(m, 1) = z(i, 1) Next Sheets("Лист2").Range("A3").Resize(m, 1).Value = z1 End With End Sub
[/vba]
[vba]
Код
Sub test2() Dim z1, z2, z, i&: z = Range("A3:C" & Range("A" & Rows.Count).End(xlUp).Row).Value ReDim z1(1 To UBound(z), 1 To 1) With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z) .Item(z(i, 3)) = .Item(z(i, 3)) + 1 Next For i = 1 To UBound(z) .Item(z(i, 1)) = .Item(z(i, 1)) + 1 Next For i = 1 To UBound(z) If .Item(z(i, 3)) = 1 Then m = m + 1: z1(m, 1) = z(i, 3) Next Sheets("Лист2").Range("B3").Resize(m, 1).Value = z1 End With End Sub
[/vba]
[vba]
Код
Sub use() test1 test2 End Sub
[/vba]
[vba]
Код
Sub очистка() Sheets("Лист2").Range("A3:B" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents End Sub
[/vba]
vermut, добрый вечер,вариант макроса(запускать с активным Лист1), с выводом результата на Лист2,кнопки use и очистка
[vba]
Код
Sub test1() Dim z1, z, m&, i&: z = Range("A3:C" & Range("A" & Rows.Count).End(xlUp).Row).Value ReDim z1(1 To UBound(z), 1 To 1) With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z) .Item(z(i, 1)) = .Item(z(i, 1)) + 1 Next For i = 1 To UBound(z) .Item(z(i, 3)) = .Item(z(i, 3)) + 1 Next For i = 1 To UBound(z) If .Item(z(i, 1)) = 1 Then m = m + 1: z1(m, 1) = z(i, 1) Next Sheets("Лист2").Range("A3").Resize(m, 1).Value = z1 End With End Sub
[/vba]
[vba]
Код
Sub test2() Dim z1, z2, z, i&: z = Range("A3:C" & Range("A" & Rows.Count).End(xlUp).Row).Value ReDim z1(1 To UBound(z), 1 To 1) With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z) .Item(z(i, 3)) = .Item(z(i, 3)) + 1 Next For i = 1 To UBound(z) .Item(z(i, 1)) = .Item(z(i, 1)) + 1 Next For i = 1 To UBound(z) If .Item(z(i, 3)) = 1 Then m = m + 1: z1(m, 1) = z(i, 3) Next Sheets("Лист2").Range("B3").Resize(m, 1).Value = z1 End With End Sub
[/vba]
[vba]
Код
Sub use() test1 test2 End Sub
[/vba]
[vba]
Код
Sub очистка() Sheets("Лист2").Range("A3:B" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents End Sub