Страницы: 1
RSS
Создание групп для файла импорта на сайт тиу.ру, .
 
Ребята приветствую!
Попался в работу шаблон ипморта на сайт тиу ру, состоит из 2-х вкладок (вкладка групп и товаров). Суть вопроса была, как поместить товары в определенную группу (по факту это категории/ крошки пользователя)
День прошел в изучениях документации, ответ найден не был. Эксперементальным путем было установлено, что для того чтоб создать такую структуру нужно чтоб в файле выполнялось 2 условия.
1) на вкладке Export Groups Sheet Обязательно должно быть прописаны крошки в виде списков с айдишниками и они перелинковывались с id родителя
2) на вкладке Export Products Sheet для конкретного товара, должно быть прописано название последней группы к которой он относится и взят соответсвующий id
Например имея для товара строку ( она на вкладке Export Products Sheet) Группа1/Группа2/Группа3/Группа4 Нам в итоге нужно рассписать структуру которая ниже и взяв номер и имя последней группы (выделено красным) прописать эти значения на вкладку с самим товаром
Вкладка Export Groups Sheet выглядит в итоге так:

Вкладка Export Products Sheet (урезанный вариант выглядит так)

Почему это не реализовано автоматически, я не знаю. (возможно я не там искал)
Нумерация самих айдишников произвольная, как я понимаю можно брать любую точку отсчета
Спасибо заранее.
 
Антон, ДД. что-то вышло вроде
Код
Sub Macro1()
Dim i As Long, n As Long, lr As Long, Arr, lr2 As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = Worksheets("Export Products Sheet")
Set sh2 = Worksheets("Export Groups Sheet")
lr = sh1.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For n = 2 To lr
    Arr = Split(sh1.Range("A" & n), "/")
    For i = 0 To UBound(Arr)
        lr2 = sh2.Cells(Rows.Count, 2).End(xlUp).Row + 1
        sh2.Cells(lr2, 1) = sh1.Cells(n, 3) - UBound(Arr) + i
        sh2.Cells(lr2, 2) = Arr(i)
        sh2.Cells(lr2, 3) = sh1.Cells(n, 5) - UBound(Arr) + i
        
    If i = 0 Then
        sh2.Cells(lr2, 5) = ""
    Else
        sh2.Cells(lr2, 5) = sh2.Cells(lr2, 3) - 1
    End If
        
    Next i
Next n
Application.ScreenUpdating = True
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Долго пытался понять что такое ДД ))) 3 часа утра, добрел до компа) Спасибо, завтра проверю! пойду спать!
Страницы: 1
Наверх