Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Количество сообщений
115
Зарегистрирован:
03-12-2014, 12:33:15
Возможно ли при чтении прайса быстро перевести где стоит евро в рубли, надпись евро (это формат, а не как таковая надпись) может быть не по порядку, в разных колонках и.т.д
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
В вашем прайс-листе валюта в цене указана не текстом в самой ячейке, а как формат ячейки (NumberFormat).
Вариантов решения такой проблемы несколько, можно создать сценарий VBS который будет перед импортом открывать указанный прайс и копировать формат ячеек с ценой в другие ячейки, чтобы по ним в последствии можно делать фильтры. Можно то же самое сделать в макросе Excel, который будет выполняться непосредственно перед чтением товаров и заполнять отдельные ячейки текстом с ценой. Можно даже из T-SQL открывать этот де файл Excel и читать формат ячеек.
Пример макроса Excel для получения формата ячейки и записи его в отдельную колонку:
Код
Sub iNETsHOP_import()
Dim rVal As Range
For Each rVal In Range("e1:e" & Cells(Rows.Count, 5).End(xlUp).Row)
rVal.Offset(, 4) = valuta(rVal)
Next rVal
For Each rVal In Range("f1:f" & Cells(Rows.Count, 6).End(xlUp).Row)
rVal.Offset(, 4) = valuta(rVal)
Next rVal
For Each rVal In Range("g1:g" & Cells(Rows.Count, 7).End(xlUp).Row)
rVal.Offset(, 4) = valuta(rVal)
Next rVal
End Sub
Function valuta(cl As Range) As String
Dim s$, a
s$ = cl.NumberFormat
a = Split(s$, " ")
valuta$ = Replace(a(UBound(a)), """", "")
End Function
В результате работы данного макроса мы получим название формата ячейки с ценой, в котом хранится валюта - в отдельных колонках таблицы I, J, K.
Количество сообщений
115
Зарегистрирован:
03-12-2014, 12:33:15
Спасибо большое за помощь, но в полном прайсе почему-то не везде срабатывает. (прайс прилагаю например бренд BARAZZA,FULGOR). И еще вопрос, если у меня стоит брать РРЦ цену по цене2(колонка F), а там цена в евро, как в таком случае быть, как влиять на цену2.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
Написал: maxtelt
но в полном прайсе почему-то не везде срабатывает.
Что именно не срабатывает? Вы проверяли формат ячеек с ценой у этих товаров?
Цитата
Написал: maxtelt
И еще вопрос, если у меня стоит брать РРЦ цену по цене2(колонка F), а там цена в евро, как в таком случае быть, как влиять на цену2.
Есть колонка "Курс валюты №2", если вы в схеме импорта внесете туда курс валюты, то соответственно при расчете (выборе) РРЦ вы сможете его учитывать, т.е. использовать не просто поле таблицы товаров поставщиков SG_PRICE2, а SG_PRICE2*SG_CYRRENCY_RATE2 или в самом скрипте расчета РРЦ брать курс определенной валюты из справочника валют и умножать/делить на него. Вариантов достаточно много.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Если макрос не работал из-за шапки прайса, то вы можете изменить в нем диапазон ячеек, чтобы он начинал работать не с первой строки, а с нужной: "e1:e".
Цитата
For Each rVal In Range("e1:e" & Cells(Rows.Count, 5).End(xlUp).Row)
Так как вы все-равно подали для тестирования не тот прайс из которого в действительности импортируете товары, более подробно подсказать не имеем возможности.