Nối chuỗi ký tự (2 người xem)

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

quangdiepctmbk

Thành viên hoạt động
Tham gia
2/4/08
Bài viết
169
Được thích
52
Nghề nghiệp
Ky su
Mình cần nối chuỗi các ký tự ở các ô như trong file đính kèm.
Các bạn làm giúp mình nhé!. Nếu làm công thức không được hoặc dài quá các bạn làm bằng VBA nhé!
Cảm ơn các bạn nhiều!
 

File đính kèm

Mình cần nối chuỗi các ký tự ở các ô như trong file đính kèm.
Các bạn làm giúp mình nhé!. Nếu làm công thức không được hoặc dài quá các bạn làm bằng VBA nhé!
Cảm ơn các bạn nhiều!
Bạn sử dụng code sau nhé:
PHP:
Sub Test()
    [C3] = Join(WorksheetFunction.Transpose(Range([B3], [B65536].End(xlUp))), ";")
    [D3] = Replace([C9], "0", "")
End Sub
 
Mình cần nối chuỗi các ký tự ở các ô như trong file đính kèm.
Các bạn làm giúp mình nhé!. Nếu làm công thức không được hoặc dài quá các bạn làm bằng VBA nhé!
Cảm ơn các bạn nhiều!

2 hàm này cho bạn đây

PHP:
Function noichuoi(vung As Range)
     noichuoi = Join(Application.Transpose(vung), ";")
End Function

PHP:
Function tach(cell As Range)
  tach = Replace(cell, "0", "")
End Function

Gộp 2 hàm lại thì thế này cho gọn

PHP:
Function noitext(vung1 As Range, vung2 As String)
  Dim cell As Range, kq
    For Each cell In vung1
      kq = kq & cell & ";"
    Next
  noitext = Replace(Left(kq, Len(kq) - 1), vung2, "")
End Function
 
Lần chỉnh sửa cuối:
Dùng hàm sau:
PHP:
Function rJoin(Rg As Range, Ch As String, strT As String)
With WorksheetFunction    
     rJoin = Replace(Join(.Transpose(Rg), Ch), strT, "")
End With

End Function

C3=rJoin(B3:B6,";","")
D3=rJoin(B3:B6,";",0)
 
Các bạn không nên dùng TRANSPOSE
- Thứ nhất: Nó sẽ lỗi với dữ liệu lớn
- Thứ hai: Nếu dùng dữ liệu 1 dòng nhiều cột thì các bạn tính sao?
Dạng hàm này tôi đã viết lâu rồi... tham khảo bài này:
http://www.giaiphapexcel.com/forum/...-cell-vào-1-cell-duy-nhất&p=423394#post423394
Hàm viết ở dạng tổng quát, có thể hoạt động trên Range hoặc mảng tùy ý
--------------
Ngoài ra các bạn chơi Replace(cell, "0", "") e rằng không ổn! Nên nhớ là chỉ xóa số "0" ở đầu chuổi chứ có phải xóa tất tần tật đâu ---> Số 01220 thì chắc chắn người ta muốn thành 1220 rồi chứ đâu phải 122
 
Lần chỉnh sửa cuối:
Các bạn không nên dùng TRANSPOSE
- Thứ nhất: Nó sẽ lỗi với dữ liệu lớn
- Thứ hai: Nếu dùng dữ liệu 1 dòng nhiều cột thì các bạn tính sao?
Dạng hàm này tôi đã viết lâu rồi... tham khảo bài này:
http://www.giaiphapexcel.com/forum/...-cell-vào-1-cell-duy-nhất&p=423394#post423394
Hàm viết ở dạng tổng quát, có thể hoạt động trên Range hoặc mảng tùy ý
--------------
Ngoài ra các bạn chơi Replace(cell, "0", "") e rằng không ổn! Nên nhớ là chỉ xóa số "0" ở đầu chuổi chứ có phải xóa tất tần tật đâu ---> Số 01220 thì chắc chắn người ta muốn thành 1220 rồi chứ đâu phải 122
Hàm theo link của bạn chỉ gộp dữ liệu 2 ô lại thôi còn khi gộp dữ liệu 2 ô và bỏ số 0 ở đầu đi thì làm thế nào. Bạn chỉ giúp mình nhé!
 
Hàm theo link của bạn chỉ gộp dữ liệu 2 ô lại thôi còn khi gộp dữ liệu 2 ô và bỏ số 0 ở đầu đi thì làm thế nào. Bạn chỉ giúp mình nhé!

Cái đó cũng chẳng khó khăn gì
Từ code có sẵn ở link trên, chỉ sửa 1 chút là xong... Các cao thủ vào nghiên cứu xem
Ẹc...Ẹc...
 

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

Back
Top Bottom