Tách vào các ô riêng biệt

Liên hệ QC

Chuotdong

Thành viên thường trực
Tham gia
28/11/06
Bài viết
255
Được thích
60
Tô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
 

File đính kèm

Nếu như không bị dính cái ký tự xuống dòng, mà chúng chỉ cách nhau bằng những dấu phẩy, bạn có thể dùng công cụ Text to Column để tách các thành phần cách nhau bằng dấu phẩy ra từng cột.
 
Tô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
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.
 
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.
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é.
 
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é.
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ề)
Bạn triển khai tiếp
PHP:
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
 
Xin lỗi vì cứ tưởng bạn BNTT nói "công cụ Text to Column" là tool gì ghê gớm lắm.

Vâng đúng thế mình cần các ô trên cột A (A1, A2, A3 ...) nếu có thì phải được xếp liên tục sang bên cột B đến hết thì thôi - cám ơn ThuNghi, nhưng tiếc là tôi ko biết gì về VBA.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom