找到等于 0 的目标值组合,VBA
to find combination of target value equal to 0 , VBA
我需要在 Excel 中找到总和为零的值组合。求解器可以为非零值提供解决方案。但是,如果目标值 = 0,它就不起作用。请你帮我解决这个问题。我做了什么:我尝试了求解器,但如果我们使用目标总和 =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
输出:
如果目标总和为 0,Solver 将不会提供解决方案。
我的解决方案是:
1) 求值之和。
2) 以求和作为目标值
3) 现在解算器将给出目标值的解。
4) 如果将剩余的值分开,将得到 values 的组合,其总和为 0
我需要在 Excel 中找到总和为零的值组合。求解器可以为非零值提供解决方案。但是,如果目标值 = 0,它就不起作用。请你帮我解决这个问题。我做了什么:我尝试了求解器,但如果我们使用目标总和 =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
输出:
如果目标总和为 0,Solver 将不会提供解决方案。
我的解决方案是:
1) 求值之和。
2) 以求和作为目标值
3) 现在解算器将给出目标值的解。
4) 如果将剩余的值分开,将得到 values 的组合,其总和为 0