Code Tách dữ liệu dựa vào dấu ";" và copy theo dòng (4 người xem)

Liên hệ QC

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

ngoctuyen1995

Thành viên hoạt động
Tham gia
25/4/17
Bài viết
196
Được thích
19
Giới tính
Nữ
Thân chào cả nhà GPEX,

Hiện tại em muốn dùng VBA để tách 01 chuỗi dựa vào dấu ";" và copy xuống dòng ngay dòng tách đó tìm mãi mà vẫn không làm được, mong cả nhà giúp em ạ.

Ví dụ Data em có:
1.Yen;2.Bao;3.Tuyen

thì sẽ tách thành 3 dòng:
Dòng 1: 1.Yen
Dòng 2: 2.Bao
Dòng 3: 3.Tuyen
tương tự tiếp tục tách các dòng còn lại ạ.
Em có đính kèm file và kết quả em làm bằng tay.
Mong cả nhà giúp đỡ, em chân thành cảm ơn ạ.
 

File đính kèm

Lần chỉnh sửa cuối:
Thân chào cả nhà GPEX,

Hiện tại em muốn dùng VBA để tách 01 chuỗi dựa vào dấu ";" và copy xuống dòng ngay dòng tách đó tìm mãi mà vẫn không làm được, mong cả nhà giúp em ạ.

Ví dụ Data em có:
1.Yen;2.Bao;3.Tuyen

thì sẽ tách thành 3 dòng:
Dòng 1: 1.Yen
Dòng 2: 2.Bao
Dòng 3: 3.Tuyen
tương tự tiếp tục tách các dòng còn lại ạ.
Em có đính kèm file và kết quả em làm bằng tay.
Mong cả nhà giúp đỡ, em chân thành cảm ơn ạ.
Việc này dùng chức năng Text to Column của Excel được đấy.
 
Upvote 0
Thân chào cả nhà GPEX,

Hiện tại em muốn dùng VBA để tách 01 chuỗi dựa vào dấu ";" và copy xuống dòng ngay dòng tách đó tìm mãi mà vẫn không làm được, mong cả nhà giúp em ạ.

Ví dụ Data em có:
1.Yen;2.Bao;3.Tuyen

thì sẽ tách thành 3 dòng:
Dòng 1: 1.Yen
Dòng 2: 2.Bao
Dòng 3: 3.Tuyen
tương tự tiếp tục tách các dòng còn lại ạ.
Em có đính kèm file và kết quả em làm bằng tay.
Mong cả nhà giúp đỡ, em chân thành cảm ơn ạ.
m code qua ntn, giả sử dữ liệu ở cột A và muốn điền kết quả vào cột B

for i = 1 to dongcuoidl
ar = split(cells(i,1),";")
for j = 0 to ubound(ar)
k = k + 1
cells(k,2) = ar(j)
next
next
 
Upvote 0
cho em hỏi thêm 1 câu nữa ạ, em muốn tô vàng cho kết quả giống sheet kết quả của em thì em sửa code chỗ nào vậy ạ? em cảm ơn anh ạ
Bạn xem file nhé
Chú ý: sau dấu ";" có những trường hợp có khoảng trắng => kết quả đã loại khoảng trắng đó ra rồi nhé
 

File đính kèm

Upvote 0
Công thức tham khảo. Excel2019
Mã:
=IFERROR(SUBSTITUTE(INDEX(FILTERXML("<m><n>"&SUBSTITUTE(TEXTJOIN(";",1,SUBSTITUTE(Data!$A$2:$A$100,";","|")&";"&Data!$A$2:$A$100),";","</n><n>")&"</n></m>","//n"),ROWS($1:1)),"|",";"),"")
 
Upvote 0
Mình có dữ câu hỏi như bên dưới mong mọi người hỗ trợ. Dữ liệu thực tế lớn hơn nhiều, có điểm trung là ngăn cách nhau bởi dấu phẩy.
xin cảm ơn Capture.PNG
 

File đính kèm

Upvote 0

File đính kèm

Upvote 0

File đính kèm

Upvote 0
code:
PHP:
Option Explicit
Function tachchuoi(cell As Range, r As Long)
tachchuoi = Split(cell.Value, ",")(r - 1)
End Function
Tại D3:
Mã:
=IFERROR(tachchuoi($B$3,ROWS($1:1)),"")
Copy xuống[/php]
 

File đính kèm

Upvote 0
Xin cảm ơn mọi người đã hỗ trợ ạ. Em làm được rồi.
 
Upvote 0
Web KT

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

Back
Top Bottom