Code tách dữ liệu (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE !
Em có dùng 1 phần mềm của công ty khi xuất ra dữ liệu thì dạng text nối chuổi với nhau. Ví dụ tại ô A1 sẽ có chuổi là Diễn*đàn*giải*pháp*excel thì dùng code gì để tách chuổi sau dấu * . Ví dụ kết quả xuất ra từ B1:B5

B1: diễn
B2: đàn
B3: giải
B4: pháp
B5: Excel

Note: Chuổi có thể nhiều đoạn nối lại. Ví dụ trên là 5 đoạn

Em xin chân thành cảm ơn
 
Ô B1 gõ Ct như sau:
Mã:
=TRIM(MID(SUBSTITUTE($A$1,"*",REPT(" ",255)),(ROW(A1)-1)*255+1,255))
Fill CT xuống
 
Upvote 0
Tham khảo thêm hàm mảng tự tạo:
Mã:
Function TTu(StrC As String)
 Const FC As String = "*"
 Dim J As Long, VTr As Byte, Dm As Byte
 ReDim Arr(1 To Len(StrC), 1 To 1) As String
 StrC = RTrim$(StrC) & FC
 Do
    VTr = InStr(1, StrC, FC)
    If VTr < 1 Then Exit Do
    Dm = Dm + 1
    Arr(Dm, 1) = Left(StrC, VTr - 1)
    StrC = Mid(StrC, VTr + 1, Len(StrC))
 Loop
 TTu = Arr()
End Function
 
Upvote 0
Tham khảo thêm hàm mảng tự tạo:
Mã:
Function TTu(StrC As String)
 Const FC As String = "*"
 Dim J As Long, VTr As Byte, Dm As Byte
 ReDim Arr(1 To Len(StrC), 1 To 1) As String
 StrC = RTrim$(StrC) & FC
 Do
    VTr = InStr(1, StrC, FC)
    If VTr < 1 Then Exit Do
    Dm = Dm + 1
    Arr(Dm, 1) = Left(StrC, VTr - 1)
    StrC = Mid(StrC, VTr + 1, Len(StrC))
 Loop
 TTu = Arr()
End Function
Em thắc mắc, sao không dùng
Mã:
Arr=split(chuoi, delimited)
 
Upvote 0
Tham khảo thêm hàm mảng tự tạo:
Mã:
Function TTu(StrC As String)
 Const FC As String = "*"
 Dim J As Long, VTr As Byte, Dm As Byte
 ReDim Arr(1 To Len(StrC), 1 To 1) As String
 StrC = RTrim$(StrC) & FC
 Do
    VTr = InStr(1, StrC, FC)
    If VTr < 1 Then Exit Do
    Dm = Dm + 1
    Arr(Dm, 1) = Left(StrC, VTr - 1)
    StrC = Mid(StrC, VTr + 1, Len(StrC))
 Loop
 TTu = Arr()
End Function

Code luộm thuộm và không hiệu quả. Nếu dùng hàm InStr thì giữ nguyên chuỗi và tìm kể từ điểm trước đó.

Nếu dùng hàm Split có sẵn của VBA thì vừa nhanh vừa gọn
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom