Office中国论坛/Access中国论坛

标题: 求助用VBA提取符合条件的数据组合 [打印本页]

作者: www96    时间: 2012-8-21 13:25
标题: 求助用VBA提取符合条件的数据组合
   求助用VBA提取符合条件的数据组合,谢谢![attach]50203[/attach]
作者: roych    时间: 2012-8-21 21:47
本帖最后由 roych 于 2012-8-21 21:49 编辑

俺觉得你把问题复杂化了,先附上代码(写入Sheet1里):
  1. Sub test()
  2. Dim s(1 To 6), P(1 To 4)
  3. Dim i, j, k, l
  4. '分解组合第一个数组
  5. For i = 1 To 6
  6.     s(i) = Range("B5").Offset(0, i - 1)
  7. Next
  8. For i = 1 To 6
  9.     For j = i + 1 To 6
  10.         For k = j + 1 To 6
  11.             a = a & "," & s(i) & ":" & s(j) & ":" & s(k)
  12.         Next
  13.     Next
  14. Next
  15. c = Split(a, ",")
  16. '分解组合第二个数组
  17. For i = 1 To 4
  18.     P(i) = Range("L5").Offset(0, i - 1)
  19. Next
  20. For i = 1 To 4
  21.     For j = i + 1 To 4
  22.         For k = j + 1 To 4
  23.             b = b & "," & P(i) & ":" & P(j) & ":" & P(k)
  24.         Next
  25.     Next
  26. Next
  27. d = Split(b, ",")
  28. '合并两个组合
  29. For i = 1 To UBound(d)
  30.     For j = 1 To UBound(c)
  31.         e = e & "," & c(j) & ":" & d(i)
  32.     Next
  33. Next
  34. f = Split(e, ",")

  35. '写入数据
  36. For i = 1 To UBound(f)
  37.     Range("w" & i + 1) = f(i)
  38. Next
  39. End Sub
复制代码
当然,代码可以更简化些许,不过个人觉得这样写的好处在于可以让大家理清思路。
[attach]50205[/attach]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3