[问题] 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