Помогите с Exel+VB

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

:) "Ну вы, блин, даете" (с)
Я с вашего позволения возьму маленький таймаут... Надо вникнуть в эту задачу...
mon
Сообщения: 14
Зарегистрирован: 04 июн 2004, 12:54

Это кажеться таким трудным, на самом деле все просто, нужно написать в EXEL скрипт, который считывал бы строки и передавал бы SQL Server через хранимую процедуру, которую я напишу, и нужен еще один маленький скриптик, который бы получав данные от SQL Server вставлял бы их! :) Только вот я с VBA не очень дружу, а SQL пожалуйста! :)
Дионис
Сообщения: 153
Зарегистрирован: 11 июл 2005, 13:42
Откуда: Крым, Алушта
Контактная информация:

mon, если форма прайсов от раза к разу поставщиком не изменяется, а только изменяется их наполнение (строки и/или цены и/или количество), то создай в Экселе книгу соответствия. Делается так: открываешь свежие прайсы, открываешь сохранённую из SQL таблицу со списком товара (это будет твой эталон), сохраняешь её под названием, например, "Обработчик", далее тебе нужно слева от этого столбца вставить необходимое количество столбцов для наименований товара каждого из поставщиков в следующем соотношении: Поставщик1 дает товар Аспирин (так, как в твоем эталоне) под названиями Аспирин 0,5; Аспирин 500 мг; аСПЕРИИН 5,0 (ну очепятка у него). Далее, Поставщик2 дает Асп.0,5; асп. 500; аспирин Шипучий 5.
Справа от эталонного столбца ставишь СУММЕСЛИ(СтолбецПрайсаПоставщик_1_Товары;ЯчейкаАспирин05;СтолбецПрайсаПоставщик_1_Цена)+то же, но ЯчейкаАспирин500мг+ ... для всех возможных Аспиринов Поставщика1 (удобно делать мастером формул)
Правее делаешь то же для Поставщика 2 и т.д.
В результате, когда ты открываешь эту книгу, в правых колонках выбираются данные из прайсов, важно только, чтобы прайсы каждого из них имели строго определённые названия, типа ПрайсПоставщик1, 2, ... Недопустимо ПрайсПост1от01,01,06 ПрайсПост1от05,05,06 - формула такого не отследит.
Ответить