如下表所示,要把同一行上面选择后的剩下擢爻充种的数值自动填写到对应的单元格里面。如果手动填写,费时费力,难免会出错,此时可以使用VBA里面的countif函数进行统计后判断,再自动填写单元格。
工具/原料
电脑
Excel2010
方法/步骤
1、可以把“待选数”和“已选数”看作是同一行上面的一个单元格区域,然后在VBA程序里面使用countif函数对“待选数”的个数进行统计、比较,将个数为1的选出来,填到对应的单元格里面。
2、点击菜单栏上面的【开发工具】,【VisualBasic】。
3、点击VBA编辑器菜单栏上面的【插入】,【模块】。
4、在VBA编辑器的代码框里面输入以下VBA代码程序:SubCountif2()Di葡矩酉缸mi,j,k,lAsLongS髫潋啜缅etmysheet1=ThisWorkbook.Worksheets("Sheet1")'定义工作表Fori=2To1000'从第2行到1000行l=17'剩余的数从第18列开始填写(后面还有+1)Forj=1To16'从第1列到16列SetmyRange=mysheet1.Range(Cells(i,1),Cells(i,16))'定于区域范围k=Application.WorksheetFunction.Countif(myRange,mysheet1.Cells(i,j))'使用countif进行统计Ifk=1Then'如果计数个数为1,说明它没有被选择,所以将它填写到未选择列里面l=l+1'每次填写后,列数增加1mysheet1.Cells(i,l)=mysheet1.Cells(i,j)EndIfNextNextEndSub
5、函数公式释义:(一)Rang娣定撰钠e主要是VBA里面表示单元格的区域范围,如:mysheet1.Range(Cel造婷用痃ls(2,1),Cells(2,16))表示两个单元格之间划定的区域,等价于mysheet1.Range("A2:P2"),表示的区域为A2:P2,由于行数是变量,所以没法直接使用单元格区域。(二)countif函数主要用来统计某一数值在单元格区域里面出现的次数,其用法为countif(查找的单元格区域,查找值)。
6、点击VBA编辑器上面的运行图标运行程序。
7、程序运行完成后,结果也计算出来了。