|
- Sub 数据生成()
- Dim arra(), arrb(), arrc, arrd(), arre(), last1 As Integer, last2 As Integer, last3 As Integer
- Dim sa As Integer, sb As Integer, sc As Integer, ja As Integer, jb As Integer, jc As Integer, jd As Long, je As Long
- Dim sd1, sd2, sd3, sd4, jg1(), jg2(), K, X, Y, Z
- last1 = [b2].End(xlDown).Row
- last2 = [f2].End(xlDown).Row
- last3 = [j2].End(xlDown).Row
- ReDim arra(1 To 10)
- ReDim arrb(1 To 10)
- ReDim arrc(1 To 10)
- ReDim arrd(1 To 10)
- ReDim arre(1 To 10)
- For sa = 2 To last1 'a组合
- ja = ja + 1
- ReDim Preserve arra(1 To ja)
- arra(ja) = Range("b" & sa) & "|" & Range("c" & sa)
- Next
- For sb = 2 To last2 'B组合
- jb = jb + 1
- ReDim Preserve arrb(1 To jb)
- arrb(jb) = Range("f" & sb) & "|" & Range("g" & sb)
- Next
- For sd1 = 1 To last1 - 1 'AB组合
- For sd2 = 1 To last2 - 1
- jd = jd + 1
- ReDim Preserve arrd(1 To jd)
- arrd(jd) = arra(sd1) & "|" & arrb(sd2)
- Next
- Next
- For sc = 2 To last3 'C组合
- jc = jc + 1
- ReDim Preserve arrc(1 To jc)
- arrc(jc) = Range("j" & sc) & "|" & Range("k" & sc)
- Next
- For sd3 = 1 To jd 'ABC组合
- For sd4 = 1 To last3 - 1
- je = je + 1
- ReDim Preserve arre(1 To je)
- arre(je) = arrd(sd3) & "|" & arrc(sd4)
- Next
- Next
- ReDim jg1(1 To jd, 1 To 4) '拆分AB,生成第一个要的结果
- For K = 1 To jd
- For X = 1 To 4
- jg1(K, X) = VBA.Split(arrd(K), "|")(X - 1)
- Next
- Next
- Range("n2").Resize(K - 1, 4) = jg1
- ReDim jg2(1 To je, 1 To 6) '拆分ABC,生成第二个要的结果
- For Y = 1 To je
- For Z = 1 To 6
- jg2(Y, Z) = VBA.Split(arre(Y), "|")(Z - 1)
- Next
- Next
- Range("T2").Resize(Y - 1, 6) = jg2
- End Sub
复制代码
越走越远。。结果 就走了这么远 |
|