Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2009, 01:08   #1
qwerty1
 
Регистрация: 26.02.2009
Сообщений: 5
По умолчанию Сравнение двух прайсов

А возможно ли сделать такое?
Есть две книги - это старый и новый прайс (в примере 2 листа одной книги). Столбец А - наименование, B - цена.
Условия:
1 - полное совпадение наименования(А) и цены(B) - выделяем строку допустим зеленым
2 - наименование совпадает, цена изменилась - выделяем желтым ячейку с ценой
3 - в новом прайсе такое наименование отсутствует - выделяем строчку серым
4 - в новом прайсе появилось новое наименование - выделяем строку красным
Вложения
Тип файла: rar Книга1.rar (8.0 Кб, 38 просмотров)
qwerty1 вне форума Ответить с цитированием
Старый 27.02.2009, 01:50   #2
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Конечно возможно! При помощи функции ВПР() и условного форматирования это очень просто
Лень - двигатель прогресса!
IFRSoff вне форума Ответить с цитированием
Старый 27.02.2009, 12:35   #3
qwerty1
 
Регистрация: 26.02.2009
Сообщений: 5
По умолчанию

IFRSoff, когда что-то уже знаешь - это кажется простым, когда не знаешь так не кажется.
qwerty1 вне форума Ответить с цитированием
Старый 28.02.2009, 13:53   #4
qwerty1
 
Регистрация: 26.02.2009
Сообщений: 5
По умолчанию

Всем спасибо. На ixbt мне уже помогли.
qwerty1 вне форума Ответить с цитированием
Старый 15.01.2015, 01:54   #5
vicma
 
Регистрация: 14.01.2015
Сообщений: 4
По умолчанию

Доброй ночи.
Вопрос очень даже актуален. Решение проблемы описанное в посте выше не совсем то, что необходимо. Помогите решить проблему.
Есть два прайса - Старый и Новый (код товара; наименование; цена), необходимо следующие решение:
1) в новый файл(Отчет) объединить два списка в один без повторов;
2) при изменение цены в Старом проставить цену Нового;
3) при отсутствии товара в Новом проставить в колонке "Вывели";
4) при отсутствии товара в Старом проставить в колонке "Ввели".
Сравнение проводить по коду товара.

Последний раз редактировалось vicma; 15.01.2015 в 02:33.
vicma вне форума Ответить с цитированием
Старый 15.01.2015, 13:16   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Option Explicit

Sub sverka()
    Dim d As Object, d_new As Object, d_name As Object
    Dim a(), t$, i&, el

    Set d = CreateObject("Scripting.Dictionary")
    Set d_new = CreateObject("Scripting.Dictionary")
    Set d_name = CreateObject("Scripting.Dictionary")

    a = Sheets(1).[a1].CurrentRegion.Value
    For i = 1 To UBound(a)
        t = a(i, 1): d.Item(t) = a(i, 3)
        d_new.Item(t) = "Вывели": d_name.Item(t) = a(i, 2)
    Next

    a = Sheets(2).[a1].CurrentRegion.Value
    For i = 1 To UBound(a)
        t = a(i, 1): d.Item(t) = a(i, 3)
        If d_new.exists(t) Then
            d_new.Item(t) = ""
        Else
            d_new.Item(t) = "Ввели": d_name.Item(t) = a(i, 2)
        End If
    Next

    ReDim a(1 To d.Count, 1 To 4): i = 0
    For Each el In d
        i = i + 1
        a(i, 1) = el: a(i, 2) = d_name(el)
        a(i, 3) = d(el): a(i, 4) = d_new(el)
    Next

    Workbooks.Add(1).Sheets(1).[a1].Resize(i, 4) = a
End Sub
Данные в 3-х столбцах на первом и втором листе.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 15.01.2015 в 13:20.
Hugo121 вне форума Ответить с цитированием
Старый 15.01.2015, 17:08   #7
vicma
 
Регистрация: 14.01.2015
Сообщений: 4
По умолчанию

Огромное спасибо! Вы просто супер. Наконец то решена моя проблема, а то вот в формулах все проблематичней делать чем макрос. Вы просто меня спасли!
vicma вне форума Ответить с цитированием
Старый 15.01.2015, 17:42   #8
vicma
 
Регистрация: 14.01.2015
Сообщений: 4
По умолчанию

Простите за назойливость, но что нужно подправить для проверки по 4-м столбцам. В четвертом столбце необходимо просто проставлять категорию товара.
vicma вне форума Ответить с цитированием
Старый 15.01.2015, 17:59   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Всё нужно подправить - количество словарей, работу с ними, размер массива, его заполнение, выгрузку... Теперь уж сами вникайте, мне некогда и неохота переделывать уже написанное.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.01.2015, 18:19   #10
vicma
 
Регистрация: 14.01.2015
Сообщений: 4
По умолчанию

большое спасибо.
vicma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух столбцов в разных книгах LAnLorD Microsoft Office Excel 132 17.05.2022 08:16
сравнение данных в двух столбцах в Excel 2003 grinders Microsoft Office Excel 4 25.11.2008 16:58
Сравнение данных из двух книг Excel 2003 ast1r Microsoft Office Excel 2 24.11.2008 21:39
Сравнение двух списков lelik759 Microsoft Office Excel 7 13.04.2008 22:19