Ответить в теме: Excel: выявить уникальные артикулы
Для входа нажмите здесь
Вы можете выбрать иконку, характеризующую сообщение
Преобразит www.example.com в [URL]http://www.example.com[/URL].
Большое спасибо за помощь!
Вот такой небольшой макрос выберет уникальные записи: Код: Sub UuniqueArticles() Dim ArrData(), ArrRes() Dim lRws As Long Dim i As Long, j As Long, k As Long Application.ScreenUpdating = False ' отключаем обновление экрана (чтобы не "моргал") With ActiveSheet lRws = .UsedRange.Row + .UsedRange.Rows.Count - 1 ' последняя строка с данными ArrData = .Range("A4:G" & lRws).Value ' данные листа в массив ' задаем размерность массива выгрузки по максимуму ReDim ArrRes(1 To lRws * 5, 1 To 1) For j = 3 To 7 ' по нужным "столбцам" массива For i = 1 To UBound(ArrData) ' по "строкам" массива If ArrData(i, j) <> Empty Then ' данные есть ' если в первом столбце число, то найденный код пишем в массив выгрузки ' добавляем знак для преобразования чисел в текст If Val(ArrData(i, 1)) Then k = k + 1: ArrRes(k, 1) = ArrData(i, j) & "_" End If Next i Next j If k > 0 Then .Range("I2").Resize(k, 1).Value = ArrRes ' выгружаем все коды на лист lRws = .Cells(.Rows.Count, 9).End(xlUp).Row ' последняя строка с кодами ' удаляем дубли кодов .Range("I1:I" & lRws).RemoveDuplicates Columns:=1, Header:=xlYes End If End With Application.ScreenUpdating = True ' включаем обновление экрана End Sub Живет он в общем модуле проекта книги. Зайти на разведку в редактор VBA -Alt+F11.
Sub UuniqueArticles() Dim ArrData(), ArrRes() Dim lRws As Long Dim i As Long, j As Long, k As Long Application.ScreenUpdating = False ' отключаем обновление экрана (чтобы не "моргал") With ActiveSheet lRws = .UsedRange.Row + .UsedRange.Rows.Count - 1 ' последняя строка с данными ArrData = .Range("A4:G" & lRws).Value ' данные листа в массив ' задаем размерность массива выгрузки по максимуму ReDim ArrRes(1 To lRws * 5, 1 To 1) For j = 3 To 7 ' по нужным "столбцам" массива For i = 1 To UBound(ArrData) ' по "строкам" массива If ArrData(i, j) <> Empty Then ' данные есть ' если в первом столбце число, то найденный код пишем в массив выгрузки ' добавляем знак для преобразования чисел в текст If Val(ArrData(i, 1)) Then k = k + 1: ArrRes(k, 1) = ArrData(i, j) & "_" End If Next i Next j If k > 0 Then .Range("I2").Resize(k, 1).Value = ArrRes ' выгружаем все коды на лист lRws = .Cells(.Rows.Count, 9).End(xlUp).Row ' последняя строка с кодами ' удаляем дубли кодов .Range("I1:I" & lRws).RemoveDuplicates Columns:=1, Header:=xlYes End If End With Application.ScreenUpdating = True ' включаем обновление экрана End Sub
Да, действительно, уф уже использовала и все получилось ) буду изучать макросы, как оказалось, пользительная вещь )
Сообщение от Старый ворчун Excel 2007, условное форматирование: Вложение 58463 как я понял, автор использовала УФ, но нужно вытянуть в отдельный диапазон: Попыталась сделать условным форматированием, но в отдельный столбец приходится вносить их вручную. я уже поняла, что кроме как макросом, больше никак не решить Я об этом не писал. Можно и формулами, но такое решение слишком громоздкое для этой задачи. А макрос - чего его бояться? Делов-то - нажать кнопульку )
Сообщение от Cherrybird Во всем диапазоне, но я уже поняла, что кроме как макросом, больше никак не решить проблему. Спасибо за участие. Excel 2007, условное форматирование: Вложение 58463
Во всем диапазоне, но я уже поняла, что кроме как макросом, больше никак не решить проблему. Спасибо за участие.
Еще больше запущено Уникальные нужны в каждом блоке данных (между желтыми строками) или уникальные во всем диапазоне? Еще раз: лучше написать макрос или функцию пользователя (тот же макрос, но вызов ее записывается как формула в ячейке).
Добрый день, спасибо за ответ. Файл во вложении. Числовые артикулы, вроде бы одинаковые. Нужны те, которые больше не повторяются.Вложение 58461
пробовала, почему то не все повторы удаляются. Возможно, это разные данные. Например, 4<>"4" или "а"<>"а " Нужно показывать в файле-примере Ваши данные. Непонятно: уникальные каждого столбца отдельно или уникальные диапазона? Артикулы числовые или текстовые? Для самого сложного случая (уникальные диапазона столбцов, данные смешаны) решение в файле. Вряд ли оно Вам понравится ) Формулы массива. Водятся тремя клавишами - Ctrl+Shift+Enter Сложны в вычислениях и при большом количестве таких формул возможны тормоза при пересчете формул. Такое лучше решать с помощью доп.вычислений или макросов, функций пользователя (UDF) Будет Ваш пример, попробуем упростить формулу.
Уже пробовала, почему то не все повторы удаляются.
дык RTFM же ж: https://support.office.com/ru-ru/art...1-8daaec1e83c2
Добрый день, есть задача - выявить уникальные артикулы в таблице (диапазон - столбцы от С до G). Попыталась сделать условным форматированием, но в отдельный столбец приходится вносить их вручную. Какие еще есть варианты? Желательно без макроса, формулой. Заранее спасибо.
Правила форума