Страница 1 из 2

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

Добавлено: 20 апр 2013 01:06
krasenkov
Здравствуйте, подскажите как лучше настроить эту структуру.
Производитель заполнен не везде. Так сказать, не сделано заполнение.
См. скриншот.

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

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

Добавлено: 20 апр 2013 13:34
Ixenon
Это как раз тот случай, когда без применения 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 столбце дополнительное наименование вида "производитель наименование"

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

Добавлено: 20 апр 2013 14:47
krasenkov
:shock: А куда его всталять и чего с ним делать?

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

Добавлено: 20 апр 2013 15:57
Ixenon
krasenkov писал(а)::shock: А куда его всталять и чего с ним делать?
В общем я его в файл сохранил, заархивировал и к этому сообщению прикрепил. Чтобы этот макрос использовать этот архив нужно сохранить на свой комп, распаковать файл с макросом(например в туже папку в которой прайс лежит), зайти в настройку прайс-листа, в меню выбрать пункт "дополнительно -> НАстройка макросов VBA", указать путь к файлу с макросом и нажать на кнопочку проверить макрос на прайс-листе.
Результат должен быть примерно таким:
10.jpg
10.jpg (156.08 КБ) 6198 просмотров
Если все получилось, то можно программе указать столбцы для категории - 5, для производителя - 6, для наименования - 7. В общем тут дальше по желанию, как надо так и настроить импорт, поиск производителя и определение категорий.

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

Добавлено: 20 апр 2013 20:52
krasenkov
Спасибо, попробуем.

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

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

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

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

Добавлено: 02 май 2013 23:20
Ixenon
krasenkov писал(а):Что-то не получилось
переименуйте наименование процедуры на "MainVBA"

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

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

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

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

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

Название процедуры, если я правильно понял прописывается в том фаиле, что вы сделали. Там оно вроде обозвано MainVBA

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

Добавлено: 12 май 2013 11:22
Ixenon
Проблема обнаружена и исправлена.
В архиве прикрепленном к данному посту находится исправленный макрос и Ваш прайс-лист на котором этот макрос тестировался.
Если Вы будете импортировать прайс-лист, в котором уже содержится один или более макросов, то программа выдаст ошибку, в связи с этим рекомендуется не производить импорт файла данного прайс-листа содержащего в себе модуль данного макроса.

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

Добавлено: 13 май 2013 00:25
krasenkov
Получилось :)
огромное спасибо