Function myfilter(ByRef a() As String, filterstr As String)
Dim b() As String, c() As String, temp
ReDim b(UBound(a, 1))
ReDim c(UBound(a, 2))
For i = 0 To UBound(a, 1)
For j = 0 To UBound(a, 2)
c(j) = a(i, j)
Next
b(i) = Join(c, ",")
Next
myfilter = Filter(Split(Join(b, ","), ","), filterstr)
Erase b
Erase c
End Function
Private Sub Command1_Click()
Dim a(6, 9) As String
For i = 0 To 6
For j = 0 To 9
a(i, j) = i & j
Next
Next
MsgBox Join(myfilter(a, "2"), vbCrLf)
End Sub
Function two2one(two() As String, one() As String)
Dim i As Long, j As Long, u1 As Long, u2 As Long
u1 = UBound(two)
u2 = UBound(two, 2)
ReDim one((u1 + 1) * (u2 + 1) - 1)
For i = 0 To u1
For j = 0 To u2
one(i * u2 + j + i) = two(i, j)
Next
Next
End Function
Private Sub Form_Load()
Dim s1(1, 2) As String
Dim s2() As String
s1(0, 0) = "00"
s1(0, 1) = "01"
s1(0, 2) = "02"
s1(1, 0) = "11"
s1(1, 1) = "12"
s1(1, 2) = "13"
Debug.Print two2one(s1(), s2())
End Sub