|
- Option Compare Text
- Sub 林木水demo()
- Dim a, b, c, x, y, i As Integer, temp, sr
- a = Array("PM", "DB", "DC", "EM", "HM", "LK", "EL")
- b = Array(20, 25, 32, 40)
- c = Array(2)
- x = Array("R", "Blank")
- y = Array("RY48", "RY64", "B48", "B64", "Blank")
- f = "JHS69-abx-c-y"
- Dim arr(), k, j, z, m, j1, brr
- z = 1
- For i = 1 To Len(f)
- m = z
- ReDim Preserve arr(1 To m)
- temp = Mid(f, i, 1)
- If temp Like "a" Then
- m = z
- z = z * (UBound(a) + 1)
- k = 0
- brr = arr
- For j = 1 To m
- For j1 = 0 To UBound(a)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = brr(m) & a(j1)
- Next
- Next
- ElseIf temp Like "b" Then
- m = z
- z = z * (UBound(b) + 1)
- k = 0
- brr = arr
- For j = 1 To m
- For j1 = 0 To UBound(b)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = brr(m) & b(j1)
- Next
- Next
- ElseIf temp Like "c" Then
- m = z
- z = z * (UBound(c) + 1)
- k = 0
- brr = arr
- For j = 1 To m
- For j1 = 0 To UBound(c)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = brr(m) & c(j1)
- Next
- Next
- ElseIf temp Like "X" Then
- m = z
- z = z * (UBound(x) + 1)
- k = 0
- brr = arr
- For j = 1 To m
- For j1 = 0 To UBound(x)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = brr(m) & x(j1)
- Next
- Next
- ElseIf temp Like "y" Then
- m = z
- z = z * (UBound(y) + 1)
- k = 0
- brr = arr
- For j = 1 To m
- For j1 = 0 To UBound(y)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = brr(m) & y(j1)
- Next
- Next
- Else
- m = z
- For j = 1 To m
- arr(j) = arr(j) & temp
- Next
- End If
- Next
- Range("I1").Resize(UBound(arr), 1) = Application.Transpose(arr)
- End Sub
复制代码 |
|