Генерация всех возможных комбинаций для значений в n столбцах - где n может варьироваться (VBA) - PullRequest
0 голосов
/ 03 октября 2019

Я хочу сгенерировать все возможные комбинации для уникальных значений в n столбцах. Пожалуйста, рассмотрите сценарий ниже:

На одном листе я беру ввод от пользователя, где он / она может ввести количество столбцов, для которых они хотят сгенерировать комбинации, а затем может ввести уникальные значения в каждомиз столбцов. Допустим, что пользователь ввел 10 в качестве ввода, он автоматически получит 10 входных столбцов, как показано ниже:

User input where column values need to be entered

Теперь, вВ каждом из столбцов пользователь будет вводить имя переменной и уникальные значения этой переменной. Как только это будет сделано, они нажмут кнопку, которая сгенерирует все возможные комбинации для этих n переменных на отдельной вкладке.

Нужна ваша помощь в том, как сгенерировать эти комбинации с помощью vba, учитывая, что n может варьироваться до50.

Спасибо!

1 Ответ

0 голосов
/ 03 октября 2019

Вот часть 1 из 2 (простой цикл, основанный на вводе с форматированием). На следующем шаге пользователь вводит данные, и, возможно, кто-то другой может предоставить вам часть 2 макроса!:

Sub VarCount()

Dim inp As Variant
inp = InputBox("How many variables?")

If IsNumeric(inp) And inp > 0 And inp <= 50 Then

    Range("A1").Value = "Var Count"
    Range("A1").Font.Bold = True
    Range("A1").Font.Italic = True

    Range("A2").Value = "Var Name"
    Range("A2").Font.Bold = True
    Range("A2").Font.Italic = True


    For i = 2 To inp + 1:
        Cells(1, i).Value = i - 1
        Cells(1, i).HorizontalAlignment = xlCenter
    Next

Else: MsgBox ("Please enter an integer between 1 and 50 and re-run the macro.")


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