...分为数据a和数据b,从数据a中选出五个数值,数据b选出一个数值,凑出...

发布网友 发布时间:2024-10-24 17:18

我来回答

1个回答

热心网友 时间:2024-11-01 09:25

假定数据a存放于A2:A21间,数据B存放于B2:B21间,要凑出的数存放于C2格中,挑出的数据存放于E:J之间。如图:

新建一个宏,名叫“凑数”,内容如下:

Sub 凑数()


    Range("E2:J999999").Select '清除数据

    Selection.ClearContents


m = 2

For x1 = 2 To 17 'a1的值

a1 = Cells(x1, 1).Value

If a1 < Cells(2, 3).Value Then

    

For x2 = x1 + 1 To 18 'a2的值

     a2 = Cells(x2, 1).Value

     If a1 + a2 < Cells(2, 3).Value Then

     

For x3 = x2 + 1 To 19 'a3的值

           a3 = Cells(x3, 1).Value

           If a1 + a2 + a3 < Cells(2, 3).Value Then

        

For x4 = x3 + 1 To 20 'a3的值

             a4 = Cells(x4, 1).Value

             If a1 + a2 + a3 + a4 < Cells(2, 3).Value Then

             

For x5 = x4 + 1 To 21 'a3的值

               a5 = Cells(x5, 1).Value

               If a1 + a2 + a3 + a4 + a5 < Cells(2, 3).Value Then

        

                  For y = 2 To 21 'b的值

                  b = Cells(y, 2).Value

                If a1 + a2 + a3 + a4 + a5 + b = Cells(2, 3).Value Then

                Cells(m, 5).Value = a1

                Cells(m, 6).Value = a2

                Cells(m, 7).Value = a3

                Cells(m, 8).Value = a4

                Cells(m, 9).Value = a5

                Cells(m, 10).Value = b

                m = m + 1

                

                End If

                Next

                 End If

               Next

               End If

             Next

             End If

          Next

          End If

        Next

    End If

Next

End Sub


运行之,会根据你指的数据穷举所有可能,存放在E:J之间。如:

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com