Найти комбинацию целевого значения, равного 0, VBA

Мне нужно найти комбинацию значений, которая будет иметь общую сумму, равную нулю в Excel. Решатель может предоставить решение для ненулевых значений. Однако это не работает, если целевое значение = 0. Не могли бы вы помочь мне в этом. Что я сделал: я пытался решить, но это неправильно, если мы используем целевой суммы = 0. Я использовал похожие коды, доступные в сети. Но получить же нет результатов.

2 ответа

Решение

Решатель не предоставит решение, если целевая сумма равна 0.

Мое решение:

1) найти сумму значений.

2) использовать сумму в качестве целевого значения.

3) Теперь решатель даст решение для целевого значения.

4) если вы отделите оставшиеся значения, вы получите комбинацию значений, сумма которых равна 0

Пытаться:

Option Explicit

Sub test()

    Dim Target As Double, OpTarget As Double
    Dim i As Long, j As Long, LastRow

    With ThisWorkbook.Worksheets("Sheet1")
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 2 To LastRow
            Target = .Range("A" & i).Value
            OpTarget = "-" & Target

            .Range("B" & i).Value = OpTarget
            .Range("C" & i).Value = Application.WorksheetFunction.Sum(.Range("A" & i & ":B" & i))
        Next i

    End With

End Sub

Выход:

Другие вопросы по тегам