распространение данных Excel

0

Распространение может быть не правильным словом, но ответы, которые я нашел, чтобы "объединить" и "объединить" вопросы, кажется, не подходят.

У меня есть два совершенно разных листа данных. Например: sheet1 может иметь столбец элементов, а sheet2 может иметь столбец цветов. Мне нужно в конечном итоге 2 столбца на листе, содержащем все возможные комбинации столбцов из двух других листов.

Таким образом, в приведенном выше примере, если sheet1 имеет 140 элементов, а sheet2 имеет 17 цветов, мне нужно, чтобы sheet3 имел столбец элемента, цветной столбец и 2380 записей (по одной для каждого возможного сочетания элемента и цвета).

Марк Александр
источник

Ответы:

2

Вот простой пример, который вы можете адаптировать.

Сохранить у нас есть 7 элементов в столбце A и 3 цвета в колонке B . Запуск этого короткого макроса:

Sub combine()
    Dim K As Long, i As Long, j As Long, Nitems As Long, Ncolors As Long

    K = 1
    Nitems = 7
    Ncolors = 3

    For i = 1 To Nitems
        For j = 1 To Ncolors
            Cells(K, "C").Value = Cells(i, "A").Value & "," & Cells(j, "B").Value
            K = K + 1
        Next j
    Next i
End Sub

будет производить это в столбце C :

введите описание изображения здесь

Ученик Гэри
источник
Я сделаю это, но мне все еще нужно разбить результат на две отдельные колонки.
Марк Александр
@MarkAlexander Это было бы простой модификацией.
Студент Гэри
Да, это было достаточно просто. Я только что изменил линию Cells на эти 2 строки Cells:
Марк Александр
Ячейки (K, "C"). Значение = Ячейки (i, "A"). Значение Ячейки (K, "D"). Значение = Ячейки (j, "B"). Значение
Марк Александр