需要排列组合公式的,多是对数字感兴趣的朋友,喜欢对数字排列组合。
本文介绍通过excel中编写VBA代码,掌握一些规律和算法来写排列组合公式。
数字排列组合公式的思路,可以这样理解:从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列。
下面通过一个实例来讲解如何通过排列组合公式完成数字排列组合。
比如从"9876543"中任意取5个数来进行排列组合,方法是:
新建一个工作表,按ALT+F11,打开VBE编辑器,插入――模块,在右边代码编辑框复制下面的代码,然后单击工具栏的“运行”命令,然后切换到工作表中,可以看见A列已经根据排列组合公式自动生成了所需要的所有数字排列组合。
Sub排列组合公式()
DimII%,I%,J%,K%,L%,M%
DimSrt1$,Srt2$,Srt3$,Srt4$,Srt5$
DimTStr1$,TStr2$,TStr3$,TStr4$
Dimt,arr()
ConstFullStr="9876543"
t=Timer
II=0
ForI=1To7
Srt1=Mid(FullStr,I,1)
TStr1=Replace(FullStr,Srt1,"")
ForJ=1To6
Srt2=Mid(TStr1,J,1)
TStr2=Replace(TStr1,Srt2,"")
ForK=1To5
Srt3=Mid(TStr2,K,1)
TStr3=Replace(TStr2,Srt3,"")
ForL=1To4
Srt4=Mid(TStr3,L,1)
TStr4=Replace(TStr3,Srt4,"")
ForM=1To3
Srt5=Mid(TStr3,M,1)
II=II+1
ReDimPreservearr(1ToII)
arr(II)=Srt1&Srt2&Srt3&Srt4&Srt5
Next
Next
Next
Next
Next
Range("A1:A"&II)=Application.Transpose(arr)
EndSub





