Объединение всех комбинаций данных из 8, 9 и 10 столбцов в Excel

566
Ben

Я пытаюсь выяснить, как запустить все возможные комбинации для данных в 8, 9 и 10 столбцах (каждый на разных страницах) и хотел бы иметь макрос для каждого.

Ниже приведен макрос для трех столбцов, с которыми я столкнулся на форуме. (Объединение всех комбинаций данных из трех столбцов в Excel)

Я бы предпочел один макрос, который я могу использовать универсально для любого количества столбцов, но я не знаю, возможно ли это. Мое понимание VBA очень ограничено. Я действительно не знаю, как писать коды, я просто вырезал и вставлял вещи, которые, по моему мнению, были бы эффективными, и вносил изменения, если они кажутся достаточно простыми.

Спасибо за любые конструктивные отзывы!

Sub combinations()  Dim c1() As Variant Dim c2() As Variant Dim c3() As Variant Dim out() As Variant Dim j, k, l, m As Long   Dim col1 As Range Dim col2 As Range Dim col3 As Range Dim out1 As Range   Set col1 = Range("A1", Range("A1").End(xlDown)) Set col2 = Range("B1", Range("B1").End(xlDown)) Set col3 = Range("C1", Range("C1").End(xlDown))  c1 = col1 c2 = col2 c3 = col3  Set out1 = Range("E2", Range("G2").Offset(UBound(c1) * UBound(c2) * UBound(c3))) out = out1  j = 1 k = 1 l = 1 m = 1   Do While j <= UBound(c1) Do While k <= UBound(c2) Do While l <= UBound(c3) out(m, 1) = c1(j, 1) out(m, 2) = c2(k, 1) out(m, 3) = c3(l, 1) m = m + 1 l = l + 1 Loop l = 1 k = k + 1 Loop k = 1 j = j + 1 Loop   out1.Value = out End Sub 
0
Ну, это очень медленный макрос, но похоже, что работа сделана. Тем не менее, вы могли бы действительно абстрагировать его еще один слой, чтобы охватить любое количество столбцов. Конечно, время запуска макроса будет расти в геометрической прогрессии. Вы должны решить, как вы будете выбирать столбцы. Вы хотите выбрать диапазон для обработки или использовать несколько «запасных» ячеек для ввода начального и конечного столбцов? Julian Knight 9 лет назад 0
А как насчет других решений в этой теме? http://stackoverflow.com/questions/19780016/vba-write-all-possible-combinations-of-4-columns-of-data Raystafarian 9 лет назад 1

0 ответов на вопрос

Похожие вопросы