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整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |