Колонка "Производитель" настройка

В этом разделе можно размещать ваши прайс-листы для получения помощи в настройке прайвил импорта, ячеек, определения категорий товара и т.д.
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

Здравствуйте, подскажите как лучше настроить эту структуру.
Производитель заполнен не везде. Так сказать, не сделано заполнение.
См. скриншот.

В настройках пробовал уберать галочку "Поиск производителя в прайсе" - не помогло
В общем по категориям раскидывает правильно, но не сопоставляет.
Спасибо.
Вложения
Также не работает
Также не работает
Sett1.JPG (174 КБ) 6197 просмотров
price.rar
Прайс
(64.11 КБ) 269 скачиваний
Прайс
Прайс
price.JPG (172.06 КБ) 6202 просмотра
Настройки
Настройки
Sett.JPG (166.83 КБ) 6202 просмотра
СТИП
СТИП
STIP.JPG (52.75 КБ) 6202 просмотра
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

Это как раз тот случай, когда без применения VBA-макроса не обойтись. Макрос может быть, например, такой:

Код: Выделить всё

Option Explicit

Sub MainVBA()

Dim Категория As String
Dim Производитель As String
Dim i As Long

For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1) <> "" And Trim(Cells(i, 2)) = "" Then
    Категория = Cells(i, 1)
Else
    Cells(i, 5) = Категория
    If Cells(i, 1) <> "" And Trim(Cells(i, 2)) <> "" And Cells(i, 1).Interior.ColorIndex = 35 Then
        Производитель = Cells(i, 1)
        Cells(i, 6) = Производитель
        Cells(i, 7) = Cells(i, 6) & " " & Cells(i, 2)
    Else
        Cells(i, 6) = Производитель
        Cells(i, 7) = Cells(i, 6) & " " & Cells(i, 2)
    End If
End If
Next i

Dim varNewFileName As String
Dim fs As Object
Dim nSourceFile As Long

Set fs = CreateObject("Scripting.FileSystemObject")
varNewFileName = Replace(ActiveWorkbook.FullName, ActiveWorkbook.Name, "") & "_" & ActiveWorkbook.Name
If fs.FileExists(varNewFileName) = True Then
    Kill varNewFileName
End If

Application.DisplayAlerts = False
nSourceFile = Workbooks.Count
ChDir ActiveWorkbook.Path
ActiveWorkbook.SaveAs Filename:=varNewFileName, FileFormat:=ActiveWorkbook.FileFormat
Workbooks.Item(nSourceFile).Close
'Application.Quit
End Sub
Макрос добавляет наименование категории в 5 столбец, наименование производителя в 6 столбец и создает в 7 столбце дополнительное наименование вида "производитель наименование"
Последний раз редактировалось Ixenon 20 апр 2013 16:02, всего редактировалось 1 раз.
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

:shock: А куда его всталять и чего с ним делать?
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

krasenkov писал(а)::shock: А куда его всталять и чего с ним делать?
В общем я его в файл сохранил, заархивировал и к этому сообщению прикрепил. Чтобы этот макрос использовать этот архив нужно сохранить на свой комп, распаковать файл с макросом(например в туже папку в которой прайс лежит), зайти в настройку прайс-листа, в меню выбрать пункт "дополнительно -> НАстройка макросов VBA", указать путь к файлу с макросом и нажать на кнопочку проверить макрос на прайс-листе.
Результат должен быть примерно таким:
10.jpg
10.jpg (156.08 КБ) 6193 просмотра
Если все получилось, то можно программе указать столбцы для категории - 5, для производителя - 6, для наименования - 7. В общем тут дальше по желанию, как надо так и настроить импорт, поиск производителя и определение категорий.
Вложения
macros_3.zip
(668 байт) 266 скачиваний
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

Спасибо, попробуем.
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

Что-то не получилось. При нажатии теста макроса вылазит ошибка, см. скриншот, а следом за ней, что фаил на котором мы макрос пробуем, не найден.
Хотя он есть и нормально открывается. В экселе макросы разрешил

Фаил открывается, результат тот что нужен, т.е. появилась подстановка производителя и категории.
В конце фаила не совсем понятно, см. скриншот. Прайс закончился, а вниз пошел список
Вложения
end_of_file.JPG
end_of_file.JPG (89.21 КБ) 6167 просмотров
Вылазит при нажатии импорта прайса
Вылазит при нажатии импорта прайса
Macros_err_II.JPG (47.79 КБ) 6167 просмотров
Вылазит при нажатии &quot;Тест макроса&quot;
Вылазит при нажатии "Тест макроса"
ERR_Macros.JPG (45.62 КБ) 6167 просмотров
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

krasenkov писал(а):Что-то не получилось
переименуйте наименование процедуры на "MainVBA"

Прикрепите Ваш новый прайс, я проверю по поводу списка который идет вниз.
В том прайсе, который Вы выложили вначале топика все работает нормально.
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

переименуйте наименование процедуры на "MainVBA"
а где это делается? Я VB не изучал.
Я просто вставил ваш фаил, указал путь к нему, нажимаю "проверить макрос на прайс листе" - выдает ошибку и потом пишет что фаил не найден, только перед именем фаила ставит нижнее подчеркивание

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

Обратил внимание, если с экселя его запустить, то нужные колонки заполнились и фаил автоматически закрывается.

Название процедуры, если я правильно понял прописывается в том фаиле, что вы сделали. Там оно вроде обозвано MainVBA
Вложения
Процедура.JPG
Процедура.JPG (43.38 КБ) 6089 просмотров
Price_11_05_13.rar
(107.43 КБ) 253 скачивания
Запуск с экселя.JPG
Запуск с экселя.JPG (88.23 КБ) 6089 просмотров
В фаиле.JPG
В фаиле.JPG (40.79 КБ) 6089 просмотров
Эксель.JPG
Эксель.JPG (59.46 КБ) 6089 просмотров
Err.JPG
Err.JPG (365.88 КБ) 6089 просмотров
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

Проблема обнаружена и исправлена.
В архиве прикрепленном к данному посту находится исправленный макрос и Ваш прайс-лист на котором этот макрос тестировался.
Если Вы будете импортировать прайс-лист, в котором уже содержится один или более макросов, то программа выдаст ошибку, в связи с этим рекомендуется не производить импорт файла данного прайс-листа содержащего в себе модуль данного макроса.
Вложения
macros_4.rar
(106.85 КБ) 284 скачивания
krasenkov
Сообщения: 363
Зарегистрирован: 03 май 2011 20:41

Получилось :)
огромное спасибо
Закрыто

Вернуться в «Примеры прайсов, помощь в настройке»