Giúp nối chuỗi (1 người xem)

Liên hệ QC

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

thanh tong

Thành viên hoạt động
Tham gia
27/5/10
Bài viết
122
Được thích
11
Mình nhờ các bạn giúp mình nối một số chuỗi trên cùng một dòng nhưng khác cột ( có thể cách cột nhau) thành một chuỗi cách nhau bởi dấu phảy(,)
VD: A1 là "c" còn D1 là "GHJ" thì tại E1 là "c,GHJ"( Trên dòng có nhiều ô có dữ liệu nhưng có thể cách ô trống)
 

File đính kèm

Mình nhờ các bạn giúp mình nối một số chuỗi trên cùng một dòng nhưng khác cột ( có thể cách cột nhau) thành một chuỗi cách nhau bởi dấu phảy(,)
VD: A1 là "c" còn D1 là "GHJ" thì tại E1 là "c,GHJ"( Trên dòng có nhiều ô có dữ liệu nhưng có thể cách ô trống)
Nếu biết xài code thì dùng thử code này
Cú pháp: NoiChuoi(vùng cần nối)
Ví dụ: tại G1=NoiChuoi(A1:F1)
PHP:
Function NoiChuoi(vung As Range)
Dim cell As Range, tam
For Each cell In vung
   If cell <> "" Then
      tam = tam & "," & cell
   End If
Next
NoiChuoi = Replace(tam, ",", "", 1, 1)
End Function
 
Nếu biết xài code thì dùng thử code này
Cú pháp: NoiChuoi(vùng cần nối)
Ví dụ: tại G1=NoiChuoi(A1:F1)
PHP:
Function NoiChuoi(vung As Range)
Dim cell As Range, tam
For Each cell In vung
   If cell <> "" Then
      tam = tam & "," & cell
   End If
Next
NoiChuoi = Replace(tam, ",", "", 1, 1)
End Function
Mình cảm ơn bạn nhiều.
Bài mình hỏi chưa đủ điều kiện nên bây giờ mình áp dụng thì không được bởi các chuỗi trong các ô này là lấy nhờ công thức chứ không phải là do nhập nên khi áp dụng code của bạn thì mình thấy không được. Vậy bạn có thể có cách nào để giúp mình không?
 
Code của anh Qanghai rất hay, nếu chưa đáp ứng đc yêu cầu thì Bạn dùng công thức thủ công tại ô E1=A1&","&D1.....@@
 
Lần chỉnh sửa cuối:
Code của anh Qanghai rất hay, nếu chưa đáp ứng đc yêu cầu thì Bạn dùng công thức thủ công tại ô E1=A1&","&D1.....@@
Dùng như bạn nói thì không đươc nên mình mới hỏi xem có cách khác không vì nếu dùng như vậy gặp phải một ô trắng thì nó sẽ sinh ra 2 dấu phảy(,) ngay. mà ở đây chỉ có 1 dấu thôi. Bạn thấy có đúng không? chính vì vậy mình mới hỏi.
 
Dùng như bạn nói thì không đươc nên mình mới hỏi xem có cách khác không vì nếu dùng như vậy gặp phải một ô trắng thì nó sẽ sinh ra 2 dấu phảy(,) ngay. mà ở đây chỉ có 1 dấu thôi. Bạn thấy có đúng không? chính vì vậy mình mới hỏi.
Thử gửi file đó lên đây xem nào!
 
Bài mình hỏi chưa đủ điều kiện nên bây giờ mình áp dụng thì không được bởi các chuỗi trong các ô này là lấy nhờ công thức chứ không phải là do nhập nên khi áp dụng code của bạn thì mình thấy không được. Vậy bạn có thể có cách nào để giúp mình không?
nếu bạn dùng nhờ công thức mà chỉ dùng cho tex không dùng cho số để cộng trừ nhân chia, bạn thêm vào đầu công thức 1 hàm if(Ô lấy giá trị="","",Công thức của bạn)
Bạn thử tham khảo xem có giúp gì cho bạn không:
http://www.giaiphapexcel.com/forum/...như-thế-nào-cho-hiệu-quả-trong-trường-hợp-sau
 
Lần chỉnh sửa cuối:
Mình xem lại rồi code của bạn Quanghai chạy được nhưng do mình tam dừng chạy code nên không được
 
Mình nhờ các bạn giúp mình nối một số chuỗi trên cùng một dòng nhưng khác cột ( có thể cách cột nhau) thành một chuỗi cách nhau bởi dấu phảy(,)
VD: A1 là "c" còn D1 là "GHJ" thì tại E1 là "c,GHJ"( Trên dòng có nhiều ô có dữ liệu nhưng có thể cách ô trống)
Thêm 1 cách cho bạn tham khảo Addins: Nối các ô với nhau thành chuỗi, trong chuỗi các ô được cách nhau = dấu phẩy
 
Mình nhờ các bạn giúp mình nối một số chuỗi trên cùng một dòng nhưng khác cột ( có thể cách cột nhau) thành một chuỗi cách nhau bởi dấu phảy(,)
VD: A1 là "c" còn D1 là "GHJ" thì tại E1 là "c,GHJ"( Trên dòng có nhiều ô có dữ liệu nhưng có thể cách ô trống)
Nếu bạn thích dùng công thức thì bạn có thể tham khảo
Mã:
=SUBSTITUTE(TRIM(SUBSTITUTE(CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,","),","," "))," ",",")
 
Vâng nếu dùng 1 Substitute thì là như thế này ạ
Mã:
=SUBSTITUTE(TRIM(CONCATENATE(A1," ",B1," ",C1," ",D1," ",E1," ",F1," "))," ",",")

Vì dữ liệu trong file nó vậy nên mình làm vậy chứ thật ra nếu A1:F1 là chuổi bất kỳ (gồm nhiều từ) thì cách này dùng không được
 
Vì dữ liệu trong file nó vậy nên mình làm vậy chứ thật ra nếu A1:F1 là chuổi bất kỳ (gồm nhiều từ) thì cách này dùng không được
- Vâng, nếu có trường hợp cụ thể thì có thể tùy biến phải không thầy. Cách bài #10 đã chỉ ra sự tùy biến, nối các phần tử bằng Concatenate với phần phân cách là "^" chẳng hạn, Substitute để chuyển các ký tự cần bảo lưu sang 1 ký tự khác (ví dụ: chuỗi gồm nhiều từ thì có thể chuyển dấu cách" " sang #, $....v,v..), sau đó chuyển phần nối giữa các cell thành dấu cách => Substitute dấu cách thành dấu phẩy => Substitute 1 lần nữa các ký tự đặc biệt nói trên (#,$...) thành dấu cách.
 
Nếu biết xài code thì dùng thử code này
Cú pháp: NoiChuoi(vùng cần nối)
Ví dụ: tại G1=NoiChuoi(A1:F1)
PHP:
Function NoiChuoi(vung As Range)
Dim cell As Range, tam
For Each cell In vung
   If cell <> "" Then
      tam = tam & "," & cell
   End If
Next
NoiChuoi = Replace(tam, ",", "", 1, 1)
End Function
Dạ em chào anh ạ, hôm nay em có tìm được code này của anh để nối chuỗi nhân tiện áp dụng cho việc báo cáo hoá đơn xoá của em. Nhưng em muốn hỏi thêm 1 chút là nếu em muốn định dạng "Cell" trong code có dạng "0000000" thì em có thể viết như nào ạ. E vẫn chưa tìm ra được cách. Chân thành cảm ơn anh!
 
Cell.NumberFormat = "0000000"
 
Em dùng Rept và len được rồi ạ, chúc các ace một ngày làm việc vui và hiệu quả ạ
 
Web KT

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

Back
Top Bottom