Синхронизация в Excel

Программирование на Visual Basic for Applications
labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Синхронизация в Excel

Сообщение labuh » 05.02.2007 (Пн) 2:39

Вопрос к уважаемым специалистам данного форума.

Искал долго ответ на свой вопрос, но найти не смог по причине не полного понимания и отсутствия знаний в области программирования.
Вопрос такой: как синхронизировать два листа из разных книг? Как добавить недостающие строки из Лист 1 второй книги в Лист 1 первой?
Речь идет о двух прайсах. Поставщик присылает прайс и там могут быть добавления. Как их найти и добавить в первую книгу Лист 1.
Список в прайсе большой и много столбцов - искать в ручную убийство.

Примерный ответ на свой вопрос я встречал на страницах этого форума, но ничего не понял. Если можно дайте подробный ответ.
Заранее спасибо.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 2:45

Насколько я помню, "примерный ответ" заключался в том, чтобы тупо скопировать один прайс в конец другого, после чего применить на полном списке расширенный фильтр с установленной галкой "только уникальные записи". Ы?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 3:21

GSerg писал(а):Насколько я помню, "примерный ответ" заключался в том, чтобы тупо скопировать один прайс в конец другого, после чего применить на полном списке расширенный фильтр с установленной галкой "только уникальные записи". Ы?


Вот это скорость ответа, вот это я понимаю. Спасибо.

"Примерный ответ" о котором я говорил выглядел примерно так:
Заголовок сообщения: Помогите сравнить два прайса по кодам
Ответ:
В общем-то алгоритм простой.
Dim i&,ii&
Dim check

и т. д.

Что касается тупо скопировать прайс в конец другого...
Я не совсем точно сформулировал свой вопрос. Дело в том, что прайс поставщика и мой имеют разное количество столбцов и оформленны по разному. Одинаковы артикулы, названия и несколько других столбцов. Поможет ли копирование?
Я не специалист, - могу осмелиться только предположить. что здесь нужна какая-то формула, которая найдет новые артикулы(если таковые имеются) в прайсе поставщика и добавит эти артикулы в мой прайс. А вместе с артикулами соответственно и всю строку в которой находится этот артикул (название товара, количество, цена и т.д.)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 4:08

:roll:

Урок работы с excel, нач. шк...

Создать справа от второго прайса колонку с формулой =ВПР(артикул_из_текущей_строки_нового_прайса; $весь_старый_прайс; номер_столбца_с_артикулами_в_старом_прайсе; ЛОЖЬ).
Растянуть на весь прайс.
Данные - Фильтр - Автофильтр.
В списке, соответствующем формуле, выбрать пункт #Н/Д, чем отфильтровать новый прайс.
Выделить всё, что осталось, скопировать в старый прайс... Скопировать, выделив не весь результат фильтровки, а только нужные его колонки...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 4:16

GSerg писал(а)::roll:

Урок работы с excel, нач. шк...

Создать справа от второго прайса колонку с формулой =ВПР(артикул_из_текущей_строки_нового_прайса; $весь_старый_прайс; номер_столбца_с_артикулами_в_старом_прайсе; ЛОЖЬ).
Растянуть на весь прайс.
Данные - Фильтр - Автофильтр.
В списке, соответствующем формуле, выбрать пункт #Н/Д, чем отфильтровать новый прайс.
Выделить всё, что осталось, скопировать в старый прайс...


Второй прайс - Вы имеете в виду прайс Поставщика или мой?
А потом (простите великодушно если я сейчас сморожу) функция ВПР - она ведь по артикулу найдет соответствие моего прайса и поставщика, а новые артикулы из прайса поставщика она как добавит?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 4:21

labuh писал(а):Второй прайс - Вы имеете в виду прайс Поставщика или мой?

Мы имеем в виду прайс поставщика, который по всем параметрам второй, т.к. появляется после наличия первого.

labuh писал(а):А потом (простите великодушно если я сейчас сморожу) функция ВПР - она ведь по артикулу найдет соответствие моего прайса и поставщика, а новые артикулы из прайса поставщика она как добавит?

GSerg писал(а):Выделить всё, что осталось, скопировать в старый прайс... Скопировать, выделив не весь результат фильтровки, а только нужные его колонки...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 4:41

Спасибо за помощь. Дошло, но с трудом. Дело в том, что эту функцию (ВПР) я уже использовал и раньше, только прописывал я её в своем прайсе тем самым считывая из прайса поставщика только те артикулы которые есть в моем, а новых арт. функция ВПР не видела.

Осмелюсь спросить - а нельзя ли, все-таки, автоматом те позиции что #н/д в прайсе поставщика(после автофильтра), переместить, да и ещё чтобы в конец соответствующего раздела моего прайса.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 4:53

Делаем описанное ручками, предварительно включив "запись макроса" из соотв. меню.
Ы?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 5:10

GSerg писал(а):Делаем описанное ручками, предварительно включив "запись макроса" из соотв. меню.
Ы?


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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 5:26

1. Откройте упаковку.
2. Сьешьте орешки...


Сервис - Макрос - Начать запись.
Выполнить действия ручками.
Сервис - Макрос - Остановить запись.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 5:41

GSerg писал(а):1. Откройте упаковку.
2. Сьешьте орешки...


Сервис - Макрос - Начать запись.
Выполнить действия ручками.
Сервис - Макрос - Остановить запись.



Это могли бы не писать. Здесь ежу понятно.
Спрошу: если записывать все действия ручками, тогда ведь макрос километровый получится - это нормально?
Задам последний вопрос:
Нет ли кода чтобы перенести новые позиции из одного прайса в другой.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.02.2007 (Пн) 5:55

labuh писал(а):Спрошу: если записывать все действия ручками, тогда ведь макрос километровый получится - это нормально?

Всенепременнейше. Опосля оный следует изучить на предмет команды копирования; команду же ту в новом, ручками написанном макросе использовать.

labuh писал(а):Задам последний вопрос:
Нет ли кода чтобы перенести новые позиции из одного прайса в другой.

ERROR: QUESTION MARK MISSING
Нет ли кода. Ли код таки надо писать самому. Завтра утром мож это сделает кто, может я даже, а сейчас поздно, сонно и лень.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 05.02.2007 (Пн) 21:47

ERROR: QUESTION MARK MISSING

Что это?
Нет ли кода. Ли код таки надо писать самому. Завтра утром мож это сделает кто, может я даже, а сейчас поздно, сонно и лень.

И утро прошло, вот и ночка наступает...
Уважаемый Шаман - помогите с кодом пожалуйста.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.02.2007 (Вт) 23:32

labuh писал(а):Что это?

Sapienti sat :roll:


OldPrice - диапазон старого прайса (с заголовком)
NewPrice - диапазон новрго прайса (с заголовком)
OldPriceArticleFieldName - имя поля старого прайса, содержащего артикул
NewPriceArticleFieldName - имя поля нового прайса, содержащего артикул
FieldMappings - если не указан, будут копироваться поля, чьи имена совпадают. Если указан, должен представлять собой чётное число параметров, где на нечётных позициях - имена полей старого прайса, на чётных - соответствующие имена полей нового прайса

Код: Выделить всё
Sub asdf(ByVal OldPrice As Excel.Range, ByVal NewPrice As Excel.Range, ByVal OldPriceArticleFieldName As String, ByVal NewPriceArticleFieldName As String, ParamArray FieldMappings() As Variant)
  Dim opapos As Long, npapos As Long
  Dim i As Long, j As Long
  Dim t As Excel.Range
  Dim v As Variant
  Dim mapp As Collection
 
 
  If OldPrice Is Nothing Then Err.Raise 5, , "Нефиг."
  If NewPrice Is Nothing Then Err.Raise 5, , "Нефиг."
 
  If (UBound(FieldMappings) - LBound(FieldMappings) + 1) Mod 2 <> 0 Then Err.Raise 5, , "Нефиг."
 
  If Len(OldPriceArticleFieldName) = 0 Then Err.Raise 5, , "Нефиг."
  If Len(NewPriceArticleFieldName) = 0 Then Err.Raise 5, , "Нефиг."
  If OldPrice.Rows.Count < 2 Then Err.Raise 5, , "Нефиг."
  If NewPrice.Rows.Count < 2 Then Err.Raise 5, , "Нефиг."
 
 
  opapos = Application.WorksheetFunction.Match(OldPriceArticleFieldName, OldPrice.Rows(1), 0)
  npapos = Application.WorksheetFunction.Match(NewPriceArticleFieldName, NewPrice.Rows(1), 0)
 
  Set t = OldPrice.Columns(opapos)
 
  j = OldPrice.Rows.Count
 
  Set mapp = New Collection
 
  If UBound(FieldMappings) < LBound(FieldMappings) Then
    On Error Resume Next
    For i = 1 To OldPrice.Columns.Count
      mapp.Add Array(i, Application.WorksheetFunction.Match(OldPrice.Cells(1, i).Value, NewPrice.Rows(1), 0))
    Next
    On Error GoTo 0
  Else
    mapp.Add Array(opapos, npapos)
    On Error Resume Next
    For i = LBound(FieldMappings) To UBound(FieldMappings) Step 2
      mapp.Add Array(Application.WorksheetFunction.Match(FieldMappings(i), OldPrice.Rows(1), 0), Application.WorksheetFunction.Match(FieldMappings(i + 1), NewPrice.Rows(1), 0))
    Next
    On Error GoTo 0
  End If
 
 
  For i = 2 To NewPrice.Rows.Count
    On Error GoTo norecord
    Application.WorksheetFunction.Match NewPrice.Cells(i, npapos).Value, t, 0
  Next
 
 
  Exit Sub
 
norecord:
  j = j + 1
  For Each v In mapp
    OldPrice.Cells(j, v(0)).Value = NewPrice.Cells(i, v(1)).Value
  Next
  Resume Next
 
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 07.02.2007 (Ср) 1:36

Вот это класс!!! Спасибо большое.

Опс! Пишет Argument not optional

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.02.2007 (Ср) 22:06

Наверное потому, что процедуру с параметрами надо вызывать с параметрами? :roll:

ЗЫ: В первоначальном варианте постинга описания параметров вообще не было, т.к. их имена представлялись самоочевидными... Потом, поразмыслив, добавил описание параметров. Увы...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 08.02.2007 (Чт) 1:59

GSerg писал(а):Наверное потому, что процедуру с параметрами надо вызывать с параметрами? :roll:

ЗЫ: В первоначальном варианте постинга описания параметров вообще не было, т.к. их имена представлялись самоочевидными... Потом, поразмыслив, добавил описание параметров. Увы...


Уважаемый, Шаман.
В первоначальном варианте постинга я упомянул о том, что
по причине не полного понимания и отсутствия знаний в области программирования

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.02.2007 (Чт) 15:03

labuh писал(а):Скажите какие описания параметров нужны и я с радостью напишу о них.

Нужны умения читать текст на русском языке и понимать его...
В моём постинге прямо перед кодом (и сразу после sapienti sat) приведён отрывок текста, являющийся описанием параметров, которые для удобства аж выделены жирным.

Может, лучше делать руками всё? Как делать всё руками, описано в начале топика. Не так уж много действий. А то мне кажется, что если я приведу пример вызова, то не поможет и это, в виду того, что надо приведённое заменять на своё. Прочитав тот отрывок, выделенный жирным.


Так:
asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article"

Или так:
asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article", "поле1", "field1", "поле2", "field2"
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 08.02.2007 (Чт) 16:34

Так:
asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article"

Или так:
asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article", "поле1", "field1", "поле2", "field2"



Думаю, что я уже уморил Вас, уважаемый, Шаман, но я ничего не понял - куда это вставлять?
Последняя попытка: скажите, могу я сбросить Вам каким-нибудь образом два прайса(сокращенные до минимума, но сохраняющие структуру самих прайсов)? Тогда у Вас будет ясная картина того, что мне нужно.
Заранее спасибо за помощь и терпение.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.02.2007 (Пт) 15:32

labuh, чтобы писать и/или использовать код в виде исходников, надо что-то знать. Без наличия определённых (весьма небольших, кстати) знаний с обеих сторон просто не получится диалога. Если по каким-то причинам изучение данных азов не является желаемым, гораздо проще делать всё руками. Excel предоставляет для этого весьма обширные средства, описанные выше.

Прикладывать прайсы можно прямо здесь аттачем.

Но у меня, скорее всего, не будет к ним интереса. Если они окажутся подходящими под код, интереса не будет ввиду понятности, если неподходящими (из-за не описанных в вопросе хитрых группировок и т.п.) - интерес пропадёт по причине а-ля "возможно, получение того, о чём вы просили, вместо того, что вам на самом деле нужно, чему-то вас научит".

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

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 09.02.2007 (Пт) 23:07

GSerg писал(а):labuh, чтобы писать и/или использовать код в виде исходников, надо что-то знать. Без наличия определённых (весьма небольших, кстати) знаний с обеих сторон просто не получится диалога

Уверен, что если Вы объясните мне всё спокойно, я пойму.

Но у меня, скорее всего, не будет к ним интереса. Если они окажутся подходящими под код, интереса не будет ввиду понятности, если неподходящими (из-за не описанных в вопросе хитрых группировок и т.п.) - интерес пропадёт по причине а-ля "возможно, получение того, о чём вы просили, вместо того, что вам на самом деле нужно, чему-то вас научит".

Классно ругаетесь, уважаемый Шаман!
Создай макрос с любым именем без параметров и помести вызов в него.

Какой вызов?
Вложения
прайс.xls
В Книге два листа:
Лист 1 - Продукция DUNI Professional - это мой прайс
Лист 2 Поставщик - прайс поставщика

нужен код который будет добавлять новый товар из Листа 2 в Лист 1 и удалять из Листа 1 то, чего нет в Листе 2
(47 Кб) Скачиваний: 91

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 12.02.2007 (Пн) 23:11

Господин, Шаман!
Куда же Вы пропали? Помогите пожалуйста.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.02.2007 (Ср) 7:06

labuh писал(а):Уверен, что если Вы объясните мне всё спокойно, я пойму.

Да, но времени ведь потребуется много, а его всегда мало. Поэтому и уважаются и ценятся случаи, когда вопрошающие на форуме в теме.

labuh писал(а):Классно ругаетесь, уважаемый Шаман!

И не думал ругаться. Сухонько описал два возможных варианта развиятия событий (и таки один угадал).

labuh писал(а):Какой вызов?

asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article"
или
asdf range("а1:g100"), range("Лист2!a5:f500"), "артикул", "article", "поле1", "field1", "поле2", "field2"


Но, как я заметил выше, я угадал один из вариантов - прайс с группировкой, да ещё и с рюшечками. Приведённый же код рассчитан на то, что прайс есть просто база данных. Копировать в такой прайс, как представлено - сложно и муторно. Приведённый код для этого не подходит (мягко говоря).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 14.02.2007 (Ср) 13:25

Приведённый код для этого не подходит (мягко говоря)


И что же делать теперь бедному еврею?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.02.2007 (Ср) 13:41

  • Обратиться к кому-либо (нет, не ко мне...), кто напишет макрос для копирования в подобный сложный и муторный прайс как он есть.
    Преимущества - не надо ничего переделывать.
    Недостаток - придётся заплатить.
  • Переделать систему хранения прайса, учредив собственно прайс в формате плоской базы данных без всякой группировки, а представленный формат прайса с рюшечками получать из плоского только при необходимости. После этого...

Гы... Только сейчас прочитал из описания аттача: "код который будет добавлять новый товар из Листа 2 в Лист 1 и удалять из Листа 1 то, чего нет в Листе 2". Спрашивается, чем отличается описанный процесс от непосредственного использования прайса поставщика с тупым удалением имевшегося ранее прайса?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 14.02.2007 (Ср) 14:20

Спрашивается, чем отличается описанный процесс от непосредственного использования прайса поставщика с тупым удалением имевшегося ранее прайса?


В прайсе поставщика. если Вы успели заметить, есть много лишнего(столбцы, рабочие моменты и т. д.) Поэтому свой прайс, считаю, более удобным.
В любом случае - спасибо за беспокойство.
Воспользуюсь Вашим советом ранее - это функция ВПР.
А кроме Вас уважаемый Шаман кто-нибудь живет на этом форуме?

Krasnaja Shapka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 26.10.2006 (Чт) 12:13
Откуда: Киев

Сообщение Krasnaja Shapka » 15.02.2007 (Чт) 10:35

labuh писал(а):А кроме Вас уважаемый Шаман кто-нибудь живет на этом форуме?

живут, но у них нет столько терпения, сколько у GSerg...
Если ясность вашего объяснения исключает ложное толкование, все равно кто-то поймет вас неправильно.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 15.02.2007 (Чт) 12:04

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

А GSerg просто насколько я знаю лучший специалист на этом форуме по VBA и по-сути отвечает почти на все темы в этом подфоруме.

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 16.02.2007 (Пт) 1:19

Строить учет мат. ценностей в Excel самоубийство. Срочно в базы данных (1-С и пр.).
Excel хорош для быстрого анализа и печати, не более. Сам работаю в оптовой торговле, осведомлен. Мечта девочек на выписке (приходе) товара: по почте пришла копия накладной в формате Excel, "я бы нажала на кнопку, она бы занеслась куда надо", где-бы не работать лишь бы не работать. Индексы (или как у вас "Артикулы") для них пустой звук. Написать макрос, конечно, как два байта переслать, но решение ли это?

labuh
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 05.02.2007 (Пн) 2:17
Откуда: Москва

Сообщение labuh » 16.02.2007 (Пт) 4:14

Строить учет мат. ценностей в Excel самоубийство. Срочно в базы данных (1-С и пр.).

А кто сказал что учет ТМЦ я веду в Excel? А прайс моего поставщика, если Вы об этом, так это их база данных. Вот с ней я и хотел синхронизировать.

Пора закрывать тему, т. к. помощи больше ждать неоткуда, все кто мог свои мысли высказал. В итоге - буду пользовать совет GSerg, т. е. ВПР...

Спасибо всем. И здравы будьте, Бояре!

След.

Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 101

    TopList