×
×

Ответить в теме

Ответить в теме: Excel: выявить уникальные артикулы

Ваше сообщение

Для входа нажмите здесь

 
 

Вы можете выбрать иконку, характеризующую сообщение

Дополнительные опции

  • Преобразит www.example.com в [URL]http://www.example.com[/URL].

Просмотр темы (новые вначале)

  • 05.07.2016, 16:06
    Cherrybird
    Большое спасибо за помощь!
  • 01.07.2016, 02:01
    vikttur
    Вот такой небольшой макрос выберет уникальные записи:
    Код:
    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.
  • 29.06.2016, 23:06
    Cherrybird
    Да, действительно, уф уже использовала и все получилось ) буду изучать макросы, как оказалось, пользительная вещь )
  • 29.06.2016, 19:05
    vikttur
    Цитата Сообщение от Старый ворчун Посмотреть сообщение
    Excel 2007, условное форматирование: Вложение 58463
    как я понял, автор использовала УФ, но нужно вытянуть в отдельный диапазон:
    Попыталась сделать условным форматированием, но в отдельный столбец приходится вносить их вручную.
    я уже поняла, что кроме как макросом, больше никак не решить
    Я об этом не писал. Можно и формулами, но такое решение слишком громоздкое для этой задачи.
    А макрос - чего его бояться? Делов-то - нажать кнопульку )
  • 29.06.2016, 18:40
    Старый ворчун
    Цитата Сообщение от Cherrybird Посмотреть сообщение
    Во всем диапазоне, но я уже поняла, что кроме как макросом, больше никак не решить проблему. Спасибо за участие.
    Excel 2007, условное форматирование: Вложение 58463
  • 29.06.2016, 15:13
    Cherrybird
    Во всем диапазоне, но я уже поняла, что кроме как макросом, больше никак не решить проблему. Спасибо за участие.
  • 29.06.2016, 15:01
    vikttur
    Еще больше запущено
    Уникальные нужны в каждом блоке данных (между желтыми строками) или уникальные во всем диапазоне?

    Еще раз: лучше написать макрос или функцию пользователя (тот же макрос, но вызов ее записывается как формула в ячейке).
  • 29.06.2016, 14:10
    Cherrybird
    Добрый день, спасибо за ответ. Файл во вложении. Числовые артикулы, вроде бы одинаковые. Нужны те, которые больше не повторяются.Вложение 58461
  • 26.06.2016, 22:42
    vikttur
    пробовала, почему то не все повторы удаляются.
    Возможно, это разные данные. Например, 4<>"4" или "а"<>"а "

    Нужно показывать в файле-примере Ваши данные.
    Непонятно: уникальные каждого столбца отдельно или уникальные диапазона?
    Артикулы числовые или текстовые?

    Для самого сложного случая (уникальные диапазона столбцов, данные смешаны) решение в файле.
    Вряд ли оно Вам понравится )
    Формулы массива. Водятся тремя клавишами - Ctrl+Shift+Enter
    Сложны в вычислениях и при большом количестве таких формул возможны тормоза при пересчете формул.
    Такое лучше решать с помощью доп.вычислений или макросов, функций пользователя (UDF)

    Будет Ваш пример, попробуем упростить формулу.
  • 26.06.2016, 17:28
    Cherrybird
    Уже пробовала, почему то не все повторы удаляются.
  • 26.06.2016, 17:16
    Старый ворчун
  • 26.06.2016, 15:24
    Cherrybird
    Добрый день, есть задача - выявить уникальные артикулы в таблице (диапазон - столбцы от С до G). Попыталась сделать условным форматированием, но в отдельный столбец приходится вносить их вручную. Какие еще есть варианты? Желательно без макроса, формулой. Заранее спасибо.

Ваши права

  • Вы можете создавать новые темы
  • Вы можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •