Chào các bác, các bác cho em hỏi chút về đoạn code sau
Với dữ liệu chỉ là [AB.12]#[AB.13] thì code cho ra 2 kết quả nhưng với dữ liệu [AB.12]#[AB.13]#[AB.14] có 3 chuỗi cách nhau bằng dấu "#" trở lên thì vba báo #VALUE!. Các bác cho em hỏi do lệnh nào khiến không tách được chuỗi thành mảng được không ạ
Em đính kèm ví dụ theo thread
Mã:
Function SplitStr(txt As Variant, delimiter As String) As Variant
Dim i As Long, ii As Integer, a(), result()
For i = 1 To Len(txt)
If i < Len(txt) And Mid(txt, i, 1) = delimiter Then
ii = ii + 1: ReDim Preserve a(ii): a(ii) = i
Else
ReDim Preserve a(1)
End If
Next
a(0) = 1
ReDim Preserve a(ii + 1): a(ii + 1) = Len(txt) + 1
ReDim result(UBound(a) - 1): ii = -1
For i = LBound(a) To UBound(a) - 1
ii = ii + 1
result(ii) = Replace(Mid(txt, a(i), a(i + 1) - a(i)), delimiter, "")
Next
SplitStr = result
End Function
Với dữ liệu chỉ là [AB.12]#[AB.13] thì code cho ra 2 kết quả nhưng với dữ liệu [AB.12]#[AB.13]#[AB.14] có 3 chuỗi cách nhau bằng dấu "#" trở lên thì vba báo #VALUE!. Các bác cho em hỏi do lệnh nào khiến không tách được chuỗi thành mảng được không ạ
Em đính kèm ví dụ theo thread