Excel表格上面使用VBA进行数组组合

2025-11-11 19:51:38

1、点击菜单栏上面的【开发工具】,【Visual Basic】。

Excel表格上面使用VBA进行数组组合

2、打开VBA编辑器后,在VBA编辑器的菜单栏上面点击【插入】,【模块】。

Excel表格上面使用VBA进行数组组合

3、在VBA代码框里面输入以下程序:

Sub Zuhe()

Dim i, j, k, l, m As Long

Dim a, b, c, d As String

m = 0  '将m的初始值设为0

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")

For i = 1 To 12  '每个数值都有12次的选择机会

  For j = 1 To 12

    For k = 1 To 12

       For l = 1 To 12

        a = mysheet1.Cells(i, 1)  '将第i个单元格里面的数值赋给a

  If j <> i Then   '如果已经选择第i个单元格里面的数值,则其他的不能再选择了

    b = mysheet1.Cells(j, 1)

     If k <> i And k <> j Then  '如果已经选择第i、j个单元格里面的数值,则其他的不能再选择了

      c = mysheet1.Cells(k, 1)

       If l <> i And l <> j And l <> k Then  '如果已经选择第i、j、k个单元格里面的数值,则其他的不能再选择了

        d = mysheet1.Cells(l, 1)

        m = m + 1

        mysheet1.Cells(m, 2) = a & b & c & d  '将选择出来的数值进行组合放到第2列

        End If

      End If

   End If

       Next

     Next

  Next

Next

End Sub

Excel表格上面使用VBA进行数组组合

4、在这个数组组合程序里面,主要是For和If的嵌套使用。对于For语句而言,每个数都有12次被选择的机会;而If的作用是将前面已经选择的数进行排除掉,只选剩下的。

5、点击VBA编辑器工具栏里面的”运行“图标运行程序,也可以按下【F5】键运行程序。

Excel表格上面使用VBA进行数组组合

6、程序运行完成之后,在Excel表格上面的第2列里面就能看到运算结果。组合的11880行与计算的组合数(C=12*11*10*9=11880)相符。

Excel表格上面使用VBA进行数组组合

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢