Dùng hàm Clean để xóa ký tự xuống dòng, sau đó dùngTôi có một số ô text được viết phân cách bằng dấu "," và ký tự xuống dòng làm thế nào để tách ra thành các ô riêng biệt ở một cột bên cạnh. Các bạn xem giúp
Xóa ký tự xuống dòng thì bạn lấy cơ sở đâu để tách chắc bạn nhầm đúng ra là phải thay thế ký tự xuống dòng bằng ",".Dùng hàm Clean để xóa ký tự xuống dòng, sau đó dùng
1/ text to column
2/ Dùng công thức thay "," =" , " và lấy left, right lần lượt.
3/ Tìm từng ký tự ","
4/ VBA, dùng hàm Split, hay là InstrRev
Những cái này rất nhiều trên diễn đàn.
Làm theo cách của ThuNghi là ok rồi còn cần gì VBA hay tool gì nữa đâu bạn, đúng là phải thay ký tự xuống dòng bằng dấu ",", cái này dùng hàm SUBSTITUTE để thay thế. Tiếp theo dùng chức năng Text to column(Data/Text to columns). Chọn ký tự split là dấu ",", sau khi thực hiện xong thì dữ liệu sẽ được phân ra làm nhiều cột trên 1 dòng, muốn nó thành 1 cột thì Copy rồi Transpose là ok rồi.Xóa ký tự xuống dòng thì bạn lấy cơ sở đâu để tách chắc bạn nhầm đúng ra là phải thay thế ký tự xuống dòng bằng ",".
Tóm lại kiếm tool hoặc VBA, mình sẽ làm vậy. Nếu có giải pháp nào đơn giản thì các bạn comment thêm nhé.
Dùng tạm code này tách A1 ra cột B (mới làm A có 1 dòng phải về)Xóa ký tự xuống dòng thì bạn lấy cơ sở đâu để tách chắc bạn nhầm đúng ra là phải thay thế ký tự xuống dòng bằng ",".
Tóm lại kiếm tool hoặc VBA, mình sẽ làm vậy. Nếu có giải pháp nào đơn giản thì các bạn comment thêm nhé.
Option Explicit
Sub TachChu()
Dim eRow As Long, iR As Long, SearchChar As String, MyStr As String, er As Long
Dim aSplit() As String
Dim n As Long, j As Long, i As Long
Sheet1.Select
Range("B1:B1000").ClearContents
eRow = [A65000].End(xlUp).Row
SearchChar = ","
n = 0
For iR = 2 To 2 'eRow
Cells(iR, 1).Value = WorksheetFunction.Clean(Cells(iR, 1).Value) 'bo ky tu xuong hang
MyStr = Cells(iR, 1).Value
For i = 1 To Len(MyStr) 'dem ","
If Mid(MyStr, i, 1) = SearchChar Then n = n + 1
Next
aSplit = Split(MyStr, ",", n + 1)
For j = 1 To n + 1
Cells(j, 2).Value = aSplit(j - 1)
Next
Next
End Sub