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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2010, 20:28   #1
Любавушка
 
Регистрация: 04.03.2010
Сообщений: 8
По умолчанию нужен макрос чтобы найти одинаковые инвентарные номера и вычесть их стоимость

Есть два листа с двумя табл. Excel, в них почти одинаковые данные, только в одной на порядок больше позицый, мне нужно чтобы макрос искал одинаковые инв. номера и отнимал от одной стоимости другую, так я узнаю было ли подорожание той или иной позиции. По сути нужно сравнить две табл. а их суммы отнять.

Р.S. У меня Excel 2003

Последний раз редактировалось Любавушка; 09.03.2010 в 20:46.
Любавушка вне форума Ответить с цитированием
Старый 09.03.2010, 20:34   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Прочтите сначала правила, потом прикрепите файл.
EducatedFool вне форума Ответить с цитированием
Старый 10.03.2010, 08:33   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

К сожалению, Вы не указали, куда нужно помещать результат. Посмотрите вложение. Запустите макрос "Main". Разность стоимостей заносится в 4-й столбец листа "сводная 2". Причем, если значение = 0, то стоимость осталась такой же, если ячейка пуста, значит на листе "сводная 1" такой позиции нет, если значение ячейки отлично от 0 (разность стоимостей), то ячейка подсвечивается.
Обратите внимание, что у Вас на листах разное количество столбцов, да еще и с разными заголовками. Поэтому, для корректной работы макроса, необходимо строго соблюдать структуру обоих листов. Т.е. лист "сводная 1" должен содержать во 2-м столбце инв. номера, а в 4-м - стоимость. Соответственно, лист "сводная 2" должен содержать во 2-м столбце инв. номера, а в 3-м - стоимость. Что не так?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.03.2010, 11:36   #4
Любавушка
 
Регистрация: 04.03.2010
Сообщений: 8
По умолчанию

Большушчее спасибо!!!! Вот только у меня в итоге подсветились все ячейки, хотя стоимость одинаковая.
Любавушка вне форума Ответить с цитированием
Старый 10.03.2010, 11:51   #5
Любавушка
 
Регистрация: 04.03.2010
Сообщений: 8
По умолчанию

что-то мне кажется, что макрос неправильно считает, потому что у меня одна стоимость так точно не совпадает, а он подставил туже стоимость что на листе сводная 2.
Любавушка вне форума Ответить с цитированием
Старый 10.03.2010, 11:54   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
у меня в итоге подсветились все ячейки, хотя стоимость одинаковая.
Проверил еще раз. Действительно, все значения совпадают. Поэтому и не подсвечиваются. Изменяю значения - вижу разность в подсвеченных ячейках.
Вы говорите про файл из вложения? Или про какой-то другой? Макрос заносит в ячейку разность. И если она не 0, то устанавливает желтую заливку. Нет ли у Вас ячеек с "условным форматированием"?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.03.2010, 12:00   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
он подставил туже стоимость что на листе сводная 2.
Макрос ничего никуда не подставляет. Алгоритм такой: перебираем все ячейки столбца 2 листа "сводная 2". Для каждого значения ищем совпадение в столбце 2 листа "сводная 1". И если находим, то в ячейку столбца 4 той же строки помещаем разность ячеек текущей строки столбца 3 листа "сводная 2" и ячейки найденной строки столбца 4 листа "сводная 1". Затем проверяем, если не 0, то окрашиваем ячейку. Что не так? Как нужно?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.03.2010, 12:05   #8
Любавушка
 
Регистрация: 04.03.2010
Сообщений: 8
По умолчанию

да, я говорю про файл который во вложении. там не могут все значения совпадать, так как инв. № 12 17 015323, в сводной стоимость 6975,37 а в сводной 2 - 13950,74, а в 4 столбце проставилась стоимость 13950,74, хотя должна была поидеи быть 6975,37, и подсветиться что не совпадает.
Просто я боюсь, что там могут не совпадать еще другие стоимости а я их просто не вижу.
Любавушка вне форума Ответить с цитированием
Старый 10.03.2010, 12:18   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
в 4 столбце проставилась стоимость 13950,74, хотя должна была поидеи быть 6975,37, и подсветиться что не совпадает
Именно так и есть. Ячейка подсвечивается и имеет значение 6975,37. Проверьте, все ли значения ячеек столбцов со стоимостью у Вас есть числа.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.03.2010, 12:22   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Там 2 файла. 1-й - исходный (Ваш), 2-й - результат после работы макроса. А у Вас как?
Вложения
Тип файла: rar Temp.rar (111.9 Кб, 18 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для набора номера из Excel Инн@ Microsoft Office Excel 31 29.12.2013 00:44
Найти Сравнить Вычесть Записать pipetka Microsoft Office Excel 5 03.06.2009 10:56
Инвентарные номера StudentMarat Свободное общение 1 12.01.2009 15:59