0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
Как сравнить 2 таблицы с ценами, обозначить изменения и внести поправки.22.01.2011, 19:49. Показов 5081. Ответов 38
Метки нет Все метки)
(
Просьба помочь в решении парочки несложных задач на ВБА (слабак я в ВБА), инфо в файле.
Смысл в следующем: Есть длинный список товаров, все работает, все ок, но поставщик присылает новый прайс – несколько измененный (цена, новый товар… и прочее), мы его просто копируем на вкладку „PROVERKA“ и запускаем макрос, который сравнивает цены, обозначает их и в конце вносит изменения. Использую Excel 2007 За помощь заранее благодарен!
0
|
22.01.2011, 19:49 | |
Ответы с готовыми решениями:
38
Внести изменения в карту таблицы сообщений Решение систем линейных уравнений, внести поправки |
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||||||||||||||||
22.01.2011, 22:58 | ||||||||||||||||
Для первой кнопки:
Кнопка 3. Поиск аномального по коду и наименованию товара:
2
|
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
23.01.2011, 00:07 [ТС] | |
Огромнейшее спасибо Вам! Busine2009
На планете-ексель меня ногами запинали ![]() Думал сам попробую написать, да не так просто оказалось, материала много, а вот чтоб воедино все концы собрать - сложно. Еще раз спасибо! буду разбираться! Я доделываю “умную“ таблицу, которая облегчает работу со длинным списком товаров, сортирует, выделяет нужное, ищет товар по категориям и по коду, делает заказ поставщику налету 1 кнопкой PDF, выставляет наценку на товар по таблице наценок, показывает прибыль с товара и % прибыли, умеет отсортировывать ходовой товар … и т.д. Еще в плане: 3 валюты, смена языка названий столбцов на ходу, отсортированный выбор товаров – одной кнопкой налету создать „Счет“ с логотипом фирмы … и т.д. Одним словом - себе надо -и с другими поделюсь Отцы экселя может и посмеются, а кому-то может и в помощь будет. Когда доделаю – выложу на форуме.
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|
23.01.2011, 00:54 | |
LV112,
а как должны вставляться строки из одного листа в другой: нужно учитывать порядок по возрастанию в первом столбце или можно вставить строку в конец нужной группы? И зачем вы вставили в своём сообщении скрин-шот и файл выложили? На них же ничего нет.
1
|
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
23.01.2011, 01:42 [ТС] | |
На счет фото, так просто, если кто будет интересоваться, может проще будет разобраться.
В файле который я по кускам собираю, около 600 строк, и номера товаров в группах идут не все по порядку! т.е. если его поместить строго по убыванию, то он сместиться из группы, что не есть хорошо! Ответ: 1) вариант: вставить строку в конец нужной группы 2) вариант: вставить строку в нужную группу по номеру, но только - если она не выходит за рамки группы. Любой вариант подойдет!
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||||||
23.01.2011, 23:02 | ||||||
4 кнопка. Работает после 3 кнопки, т.к. поиск осуществляется ячеек, выделенных жёлтым. Во всех таблицах должны быть одинаковые столбцы (количество и наименования). Вставка строк осуществляется после слова GRUPPA. Наверное, после выполнения макроса нужна сортировка. Сразу вставлять строки по возрастанию - не известно, как, т.к. в первом столбце числа могут содержать буквы.
2
|
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
27.01.2011, 02:19 [ТС] | |
Таблица почти готова, но есть пару вопросов, с которыми мне одному не справится.
Вопросы отметил розовым фоном на вкладках "check_new_price" и "invoice" BUSINE2009 без Вас не разобраться! может у кого есть еще какие мысли? Заранее благодарен! Файл 415kb, Excel 2007 http://www.hot.ee/liivrandproj... RUS_1.xlsm
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||||||
27.01.2011, 11:29 | ||||||
LV112,
на будущее, когда выкладываете образец файлов, с которым работаете, то нужно, чтобы этот образец максимально соответствовал реальному файлу. Про другие макросы, не знаю, но 4 макрос, который я написал, в вашем файле уже не будет работать, т.к. в нём осуществляется поиск слова "GRUPPA", которого в реальном файле нет. Я не смогу помочь - для меня это сложная задача. Вот так можно создать файл PDF. Необходимо задать область печати: Выделяете диапазон ячеек, который надо отправить на печать, - вкладка "Разметка страницы" - группа "Параметры страницы" - Область печати - Задать. Далее, используя мой код, сделайте его под себя:
1
|
![]() 1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
|
|
28.01.2011, 05:58 | |
LV112, имхо, для решения задачи выбран не подходящий инструмент. преходи с Excel на MS Access
0
|
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
28.01.2011, 14:47 [ТС] | |
BUSINE2009,
1) пробую каким-то образом интегрировать макрос внесения новых строк (кнопка 4), в принципе макрос работает, если названия категорий сменить на слово "GRUPPA", но есть 1 проблема, при добавлении новых строк в таблицу, таблица "разъезжается" т.е. происходит вставка ячейки со сдвигом вниз, и пол таблицы съезжает вниз а пол остается на своем месте (фото приложил) ... а надо просто вставить целую строку и добавить туда данные... (с копированием формул с соседней строки) а если такое решение: в те ячейки столбца А где нет кода - вставить слово "GRUPPA 1, 2, ...3", и подправить макрос, и все должно заработать (наверно надо сделать в 2 таблицах одновременно) или при внесении нового товара, макрос предложит "куда внести новые данные" построчно, в какую категорию... 2) Скопировать отмеченные строки и вставить во вкладку Счет "INVOICE", по моему для специалиста не особо сложная задача, я понимаю - упарил уже.... но самому не справиться, помогите пожалуйста еще раз! Надеюсь на помощь! http://www.hot.ee/liivrandproj... 2_WEB.xlsm
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|||||||||||
28.01.2011, 18:05 | |||||||||||
По 1 вопросу:
1
|
![]() 1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
|
|
29.01.2011, 09:34 | |
в 15 строке (имею в виду последний код), похоже, не хватает точки перед Range. таким образом, обращение идет к активному листу, что может вызвать труднодиагностируемую ошибку или незаметное искажение результата. по той же причине, советую задать ссылку на конкретную книгу.
в 4 строке - плохой стиль. использование имени свойства для имени переменной. хотя... это на любителя и, возможно, в данном случае оправдано
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||||||
29.01.2011, 10:19 | ||||||
Измененный последний код:
LV112, для всех остальных кодов также укажите имена книг перед листами.
1
|
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 26
|
|
29.01.2011, 14:19 [ТС] | |
Спасибо за поддержку,
Кстати без "." перед RANGE лучше работает, посмотрите с ней и без как добавляет товары в СЧЕТ! так-что как кисть мастера легла, так пускай и будет! ))) наверное! При добавлении нового товара, все добавляет на вкладку "SKLAD", все ок, но почему-то затрагивает одну строку, которую макрос трогать не должен (у меня получается 108 строка) По поводу внести название книги и листа - тут двоякое мнение, а если кто то изменит название файла, и листа, то возникнут проблемы....! выкладываю более свежий файл: еще не конечная версия.... но скоро будет рабочий шаблон http://www.hot.ee/liivrandproj... WEB_4.xlsm
0
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|
29.01.2011, 14:26 | |
нужно последний код использовать.
Добавлено через 3 минуты тогда во время выполнения макроса должна быть открыта одна книга. Вы можете гарантировать, что всегда во время выполнения макроса будет открыта одна книга? Конечно же нет. Поэтому имена файлов нужно обязательно назначать или сделать защиту (не знаю, можно такое сделать или нет), чтобы нельзя было открыть более 1 книги одновременно. Добавлено через 2 минуты Имя книги можно указывать в одном месте кода, а в остальной части кода использовать переменную вместо названия файла. Если файл будет другой, то название менять нужно будет только в одном месте.
1
|
![]() 1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
|
|
29.01.2011, 15:54 | |
тогда надо программно же получить имя книги, например, запомнить ссылку на объект книги в глобальной переменной при открытии книги или, хотябы, запуске макроса. подумай, что будет, если во время выполнения макроса станет активной другая книга (возможно даже, у этой другой книги будет такое же имя! и похожее содержание). хуже всего незаметное искажение результата или частичное завершение транзакции
1
|
29.01.2011, 15:54 | |
Помогаю со студенческими работами здесь
20
Внести поправки в программу, автор которой "пошел далеко"
Как внести изменения в код Как в готовый apk внести изменения? Как внести изменения в скомпилированное приложение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|