[問題] VBA字串排列組合問題

作者: nekomeow (nekomeow)   2022-12-17 22:25:43
軟體:excel VBA
版本:2016
問題:總共有六欄項目(G~L),每欄各有3~8項不等資料,
想要做C6取2、C6取3、C6取4、C6取5、C6取6
寫了C6取2,卡在不知道如何排除重複的資料....有請版上大神指點迷津...搞一天惹...Orz
檔案:
Sub oneAoneC()
Dim Ante1 As Range
Dim 組合結果 As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Worksheets("工作表").Activate
Set Ante1 = Range("A2:A34")
xStr = "-" 'Separator
Set 組合結果 = Range("E2")
For xFN1 = 1 To Ante1.Count
xSV1 = Ante1.Item(xFN1).Text
For xFN2 = 1 To Ante1.Count
xSV2 = Ante1.Item(xFN2).Text
組合結果.Value = xSV1 & xStr & xSV2
Set 組合結果 = 組合結果.Offset(1, 0)
Next
Next
End Sub
作者: nekomeow (nekomeow)   2022-12-17 22:38:00
檔案下載點:https://ufile.io/3b9hj7ir
作者: waiter337 (給開司一罐蘇格登)   2022-12-18 00:13:00
作者: nekomeow (nekomeow)   2022-12-18 09:12:00
2F W大: 這方式我有試過,但沒辦法先做到C6取2,在做排列組合https://imgur.com/a/lLpY8tT
作者: waiter337 (給開司一罐蘇格登)   2022-12-19 03:55:00
這題可解 他要分別做兩次排列組合剛好可以練習遞迴但我的遞迴很差 正好拿這題練習中這題先別看文字第一次要列出 1-6任取3不重複的表依照表 取出三欄然後 再一次排列組合 遞迴每一列直到結束消滅。然後回到第一次的表的下一個 重複直到結束補充 上述取出的數字表 都是欄號列號順序參照用的數字所以 建議丟入陣列中 再把排列好的數字帶入利用數字 找到陣列欄列號 並提取出文字第一題 在對岸討論區 找得到 對岸大神還給出三種解第二題 就要自己想了 因為我也卡在這裡第一題的關鍵字vba 排列 cm 取n

Links booklink

Contact Us: admin [ a t ] ucptt.com