Используйте Excel / VB для создания списка родительских продуктов на основе вариаций продукта - PullRequest
0 голосов
/ 06 мая 2020

Я создаю магазин shopify, и у меня есть 3 варианта продукта, то есть размер / цвет / место настройки, которые мне нужно разделить, чтобы создать строку для каждого потенциального варианта.

Пример моего листа включен ниже . Если проще, я могу предоставить Excel.

Example

Надеюсь, я правильно объясняю.

Я надеюсь, что в первом примере у футболки будет вариант «Маленький», черного цвета с расположением настройки на левой груди, тогда в следующей строке будет вариант «Маленький», черного цвета с местом настройки на правой груди и т. Д. on.

Я новичок, поэтому любая помощь приветствуется

1 Ответ

1 голос
/ 06 мая 2020

Для этого вам понадобится 3 вложенных цикла. Вот пример

Option Explicit

Public Sub ExampleGenerateUniquePermutations()
    Dim ArraySize() As Variant
    ArraySize = Array("S", "M", "L")

    Dim ArrayColor() As Variant
    ArrayColor = Array("red", "green")

    Dim ArrayVariation() As Variant
    ArrayVariation = Array("left", "right", "extra", "nonsense")

    Dim Size As Variant
    For Each Size In ArraySize

        Dim Color As Variant
        For Each Color In ArrayColor

            Dim Variation As Variant
            For Each Variation In ArrayVariation
                Debug.Print Size, Color, Variation
            Next Variation

        Next Color

    Next Size

End Sub

Результат будет

S             red           left
S             red           right
S             red           extra
S             red           nonsense
S             green         left
S             green         right
S             green         extra
S             green         nonsense
M             red           left
M             red           right
M             red           extra
M             red           nonsense
M             green         left
M             green         right
M             green         extra
M             green         nonsense
L             red           left
L             red           right
L             red           extra
L             red           nonsense
L             green         left
L             green         right
L             green         extra
L             green         nonsense

Обратите внимание, что вы можете легко разделить строку "S;M;L;XL" на массив, используя функцию разделения ArraySize = Split("S;M;L;XL", ";")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...