Расчет перестановок с фиксированной стартовой позиции - PullRequest
1 голос
/ 30 апреля 2020

In Столбец A , начиная с A1, представляет собой список из 5 продуктов. В столбце B рядом с первым продуктом стоит 1, указывающий, что это исправлено, т. Е.

  • Продукт A - 1
  • Продукт B
  • Продукт C
  • Продукт D
  • Продукт E

Я уже выяснил, как рассчитать все перестановки для этих 5 продуктов, давая мне 120 рядов возможностей. См. Код ниже:

Sub Permutations_5_From_5()
    Dim rRng As Range
    Dim lRow As Long
    With Application
        .ScreenUpdating = False: .Calculation = xlCalculationManual: .DisplayAlerts = False
    End With
    Range("C:G").ClearContents
    Set rRng = Range("A1", Range("A1").End(xlDown))
    For P1 = 1 To rRng.Count
        For P2 = 1 To rRng.Count
            For P3 = 1 To rRng.Count
                For P4 = 1 To rRng.Count
                    For P5 = 1 To rRng.Count
                        If _
                            P1 <> P2 And _
                            P1 <> P3 And _
                            P1 <> P4 And _
                            P1 <> P5 And _
                            P2 <> P3 And _
                            P2 <> P4 And _
                            P2 <> P5 And _
                            P3 <> P4 And _
                            P3 <> P5 And _
                            P4 <> P5 Then
                            lRow = lRow + 1
                            Range("C" & lRow) = Range("A" & P1)
                            Range("D" & lRow) = Range("A" & P2)
                            Range("E" & lRow) = Range("A" & P3)
                            Range("F" & lRow) = Range("A" & P4)
                            Range("G" & lRow) = Range("A" & P5)
                        End If
                    Next P5
                Next P4
            Next P3
        Next P2
    Next P1
    Range("A1").Select
    With Application
        .DisplayAlerts = True: .Calculation = xlCalculationAutomatic: .ScreenUpdating = True
    End With
End Sub

Как мне рассчитать только те перестановки, которые все начинаются с фиксированного продукта (т. Е. Продукта А), который должен уменьшить это до 60 строк возможностей?

Спасибо,

Джордан

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