作者nekomeow (总裁的房东)
看板Office
标题[问题] VBA字串排列组合问题
时间Sat Dec 17 22:25:43 2022
软体: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
--
▉╯╰ ▅▃▂ ▂
▏ ╱ ╱ ╱
█ ╮╭
▆▅ ▂▅▆ ▎ ╱ █ ╱ ╱ █ ╱
▉ ◢▋ ▄▄ ▉ ◢▋ ╱ ████████████
▉ ▆█◤ ▊
▎ ▉ ▆█◤ ╱ ╱
█
█ ▋
▍ ▎ █ ████████████
▉
█ ▅▅ ▏ █ █ █"冰的啦"
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.230.94.14 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1671287160.A.B93.html
3F:→ nekomeow: 2F W大: 这方式我有试过,但没办法先做到C6取2,在做排 12/18 09:12
4F:→ nekomeow: 列组合 12/18 09:13
6F:推 waiter337: 这题可解 他要分别做两次排列组合 12/19 03:55
7F:→ waiter337: 刚好可以练习递回 12/19 03:56
8F:推 waiter337: 但我的递回很差 正好拿这题练习中 12/19 03:57
9F:→ waiter337: 这题先别看文字 12/19 03:57
10F:→ waiter337: 第一次要列出 1-6任取3不重复的表 12/19 03:58
11F:→ waiter337: 依照表 取出三栏 12/19 03:59
12F:→ waiter337: 然後 再一次排列组合 递回每一列 12/19 04:00
13F:→ waiter337: 直到结束消灭。然後回到第一次的表的下一个 重复直到 12/19 04:02
14F:→ waiter337: 结束 12/19 04:02
15F:→ waiter337: 补充 上述取出的数字表 都是栏号列号顺序参照用的数字 12/19 04:03
16F:→ waiter337: 所以 建议丢入阵列中 再把排列好的数字带入 12/19 04:03
17F:→ waiter337: 利用数字 找到阵列栏列号 并提取出文字 12/19 04:04
18F:→ waiter337: 第一题 在对岸讨论区 找得到 对岸大神还给出三种解 12/19 04:06
19F:→ waiter337: 第二题 就要自己想了 因为我也卡在这里 12/19 04:06
20F:推 waiter337: 第一题的关键字 12/19 04:09
21F:→ waiter337: vba 排列 cm 取n 12/19 04:09
23F:→ waiter337: 今天先做到这里 目前只有测试那页能跑 12/19 19:16
24F:→ waiter337: 我也是第一次碰 递回+排列组合 不是很熟 目前未完工 12/19 19:18