Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。 需要排列组合公式的,多是对数字感兴趣的朋友,喜欢对数字排列组合。 本文介绍通过excel中编写VBA代码,掌握一些规律和算法来写排列组合公式。 数字排列组合公式的思路,可以这样理解:从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列。 下面通过一个实例来讲解如何通过排列组合公式完成数字排列组合。 比如从"9876543"中任意取5个数来进行排列组合,方法是: 新建一个工作表,按ALT+F11,打开VBE编辑器,插入——模块,在右边代码编辑框复制下面的代码,然后单击工具栏的“运行”命令,然后切换到工作表中,可以看见A列已经根据排列组合公式自动生成了所需要的所有数字排列组合。 
Sub 排列组合公式() Dim II%, I%, J%, K%, L%, M% Dim Srt1$, Srt2$, Srt3$, Srt4$, Srt5$ Dim TStr1$, TStr2$, TStr3$, TStr4$ Dim t, arr() Const FullStr = "9876543" t = Timer II = 0 For I = 1 To 7 ??? Srt1 = Mid(FullStr, I, 1) ??? TStr1 = Replace(FullStr, Srt1, "") ??? For J = 1 To 6 ??????? Srt2 = Mid(TStr1, J, 1) ??????? TStr2 = Replace(TStr1, Srt2, "") ??????? For K = 1 To 5 ??????????? Srt3 = Mid(TStr2, K, 1) ??????????? TStr3 = Replace(TStr2, Srt3, "") ??????????? For L = 1 To 4 ??????????????? Srt4 = Mid(TStr3, L, 1) ??????????????? TStr4 = Replace(TStr3, Srt4, "") ??????????????? For M = 1 To 3 ??????????????????? Srt5 = Mid(TStr3, M, 1) ??????????????????? II = II + 1 ??????????????????? ReDim Preserve arr(1 To II) ??????????????????? arr(II) = Srt1 & Srt2 & Srt3 & Srt4 & Srt5 ??????????????? Next ??????????? Next ??????? Next ??? Next Next Range("A1:A" & II) = Application.Transpose(arr) End Sub
Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。 |