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

 时间:2024-11-13 00:41:23

如下图所示,要在A列里面的EEEFFFGGGHHH3共12个数中选出4个数进行组合,此时只能使用VBA程序来完成。

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

工具/原料

电脑

Excel2010

方法/步骤

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

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

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

Excel表格上面使用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

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进行数组组合

VBA中如何写入公式代码? Excel如何用VBA制作动态数字? 如何使用VBA在Excel表格中插入间隔的空白行 Excel如何用VBA更改字体? 怎样使用VBA删除工作簿中所有空白工作表?
热门搜索
咻咻漫画 风云漫画 服装店图片 日本工番口番漫画大全 床图片