如下图所示,要在A列里面的EEEFFFGGGHHH3共12个数中选出4个数进行组合,此时只能使用VBA程序来完成。
工具/原料
电脑
Excel2010
方法/步骤
1、点击菜单栏上面的【开发工具】,【VisualBasic】。
2、打开VBA编辑器后,在VBA编辑器的菜单栏上面点击【插入】,【模块】。
3、在VBA代码框里面输入以下程序:SubZuhe()Dimi,j,k,l,咯悝滩镞mAsLongDima,b,c,dAsStringm=0媪青怍牙'将m的初始值设为0Setmysheet1=ThisWorkbook.Worksheets("Sheet1")Fori=1To12'每个数值都有12次的选择机会Forj=1To12Fork=1To12Forl=1To12a=mysheet1.Cells(i,1)'将第i个单元格里面的数值赋给aIfj<>iThen'如果已经选择第i个单元格里面的数值,则其他的不能再选择了b=mysheet1.Cells(j,1)Ifk<>iAndk<>jThen'如果已经选择第i、j个单元格里面的数值,则其他的不能再选择了c=mysheet1.Cells(k,1)Ifl<>iAndl<>jAndl<>kThen'如果已经选择第i、j、k个单元格里面的数值,则其他的不能再选择了d=mysheet1.Cells(l,1)m=m+1mysheet1.Cells(m,2)=a&b&c&d'将选择出来的数值进行组合放到第2列EndIfEndIfEndIfNextNextNextNextEndSub
4、在这个数组组合程序里面,主要是For和If的嵌套使用。对于For语句而言,每个数都嘀芟苒疾有12次被选择的机会;而If的作用是将前面已经选择的数进行排除掉,只选剩下的。
5、点击VBA编辑器工具栏里面的”运行“图标运行程序,也可以按下【F5】键运行程序。
6、程序运行完成之后,在Excel表格上面的第2列里面就能看到运算结果。组合的11880行与计算的组合数(C=12*11*10*9=11880)相符。