Yêu cầu như trong file đính kèm. Các bác giúp em với.
Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String
Dim aTmp, arr(), Item, tmp As String
Dim i As Long, n As Long
'On Error Resume Next
For i = LBound(Arrays) To UBound(Arrays)
aTmp = Arrays(i)
If Not IsArray(aTmp) Then aTmp = Array(aTmp)
For Each Item In aTmp
If TypeName(Item) <> "Error" Then
tmp = CStr(Item)
n = n + 1
ReDim Preserve arr(1 To n)
arr(n) = tmp
End If
Next
Next
If n Then JoinText = Join(arr, Delimiter)
End Function
=JoinText(", ",IF(L11:S11="",1/0,L11:S11))
Hoặc bạn thử dùng hàm tự tạo đơn giản nàyYêu cầu như trong file đính kèm. Các bác giúp em với.
Function Concet(Rng As Range) As String
Dim Cll As Range
For Each Cll In Rng
If Cll.Value <> "" Then
Concet = Concet & "," & Cll.Value
End If
Next Cll
If Left(Concet, 1) = "," Then
Concet = Mid(Concet, 2, Len(Concet) - 1)
End If
End Function
=SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(L11 & CHAR(1)&M11&CHAR(1)&N11&CHAR(1)&O11&CHAR(1)&P11&CHAR(1)&Q11&CHAR(1)&R11&CHAR(1)&S11," ",CHAR(2)),CHAR(1)," ")),CHAR(2), " ")
bác hướng dẫn em cụ thể chút. cai PHP là gì vậy ?Hoặc bạn thử dùng hàm tự tạo đơn giản này
=Concet(L11:S11) rồi fill down xuống
PHP:Function Concet(Rng As Range) As String Dim Cll As Range For Each Cll In Rng If Cll.Value <> "" Then Concet = Concet & "," & Cll.Value End If Next Cll If Left(Concet, 1) = "," Then Concet = Mid(Concet, 2, Len(Concet) - 1) End If End Function
công thức của bác cho kế quả không có dấu phẩyNgoài ra, nếu chỉ nối có 8 cell thì có thể "chịu cực" nối từng cell thế này tại ô C11
Công thức thường, Enter bình thườngMã:=SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(L11 & CHAR(1)&M11&CHAR(1)&N11&CHAR(1)&O11&CHAR(1)&P11&CHAR(1)&Q11&CHAR(1)&R11&CHAR(1)&S11," ",CHAR(2)),CHAR(1)," ")),CHAR(2), " ")
bạn Alt+F11 ( chưa quen thì tắt workbook khác, chỉ mở workbook đang cần thôi nhé, vào Tab Insert/Module, chép đoạn code trên vào. PHP code là code có màu mẽ chút, bạn ko cần quan tâm cái này)bác hướng dẫn em cụ thể chút. cai PHP là gì vậy ?
công thức của bác cho kế quả không có dấu phẩy
==SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(L11 & CHAR(1)&M11&CHAR(1)&N11&CHAR(1)&O11&CHAR(1)&P11&CHAR(1)&Q11&CHAR(1)&R11&CHAR(1)&S11," ",CHAR(2)),CHAR(1)," ")), " ",", "),CHAR(2), " ")
Tuyệt vời. Cảm ơn bạn nhiều. Mình làm được rồi.bạn Alt+F11 ( chưa quen thì tắt workbook khác, chỉ mở workbook đang cần thôi nhé, vào Tab Insert/Module, chép đoạn code trên vào. PHP code là code có màu mẽ chút, bạn ko cần quan tâm cái này)
Bạn enable macro theo link dưới tủy office nhé
rồi
=concet(L11:S11) tại ô cần lấy kết quả
http://www.giaiphapexcel.com/forum/...ẫn-Enable-Macros-trong-Excel-(2003-2007-2010)
Mà làm thể nào để sau dấy phẩy có dấu cách vậy bạn.bạn Alt+F11 ( chưa quen thì tắt workbook khác, chỉ mở workbook đang cần thôi nhé, vào Tab Insert/Module, chép đoạn code trên vào. PHP code là code có màu mẽ chút, bạn ko cần quan tâm cái này)
Bạn enable macro theo link dưới tủy office nhé
rồi
=concet(L11:S11) tại ô cần lấy kết quả
http://www.giaiphapexcel.com/forum/...ẫn-Enable-Macros-trong-Excel-(2003-2007-2010)
Cảm ơn bác nhiều. Nhưng không đúng rồi.Xin lỗi! Quên vụ dấu phẩy! Phải thế này:
Mã:==SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(L11 & CHAR(1)&M11&CHAR(1)&N11&CHAR(1)&O11&CHAR(1)&P11&CHAR(1)&Q11&CHAR(1)&R11&CHAR(1)&S11," ",CHAR(2)),CHAR(1)," ")), " ",", "),CHAR(2), " ")
Mà làm thể nào để sau dấy phẩy có dấu cách vậy bạn.
Function Concet(Rng As Range) As String
Dim Cll As Range
For Each Cll In Rng
If Cll.Value <> "" Then
Concet = Concet & ", " & Cll.Value
End If
Next Cll
If Left(Concet, 1) = "," Then
Concet = Mid(Concet, 2, Len(Concet) - 1)
End If
End Function
giữa "," thành ", " thêm 1 khoảng trắng nữa thôi( dấu space trên bàn phím đó)PHP:Function Concet(Rng As Range) As String Dim Cll As Range For Each Cll In Rng If Cll.Value <> "" Then Concet = Concet & ", " & Cll.Value End If Next Cll If Left(Concet, 1) = "," Then Concet = Mid(Concet, 2, Len(Concet) - 1) End If End Function
Cảm ơn bác nhiều. Nhưng không đúng rồi.
Cái vụ dấu phân cách phải nên để người dùng tự lựa chọn ---> Có thế hàm mới mang tính tổng quátgiữa "," thành ", " thêm 1 khoảng trắng nữa thôi( dấu space trên bàn phím đó)
Bạn test thế nào ý, tôi test ok và thử hẳn trên file rồi màHàm này lại không hiệu lực bác ạ
Đoán: Tác giả không biết gì về VBA nên có hướng dẫn cũng bằng thừa! Thậm chí đưa luôn file lên cũng chưa chắc đã biết xàiBạn test thế nào ý, tôi test ok và thử hẳn trên file rồi mà