Hàm nối chuỗi cách cột

Liên hệ QC

hongphuong1997

Thành viên tiêu biểu
Tham gia
12/11/17
Bài viết
770
Được thích
321
Giới tính
Nữ
Nhờ anh chị và các thầy viết giúp hàm như file đính kèm
Em xin cảm ơn
 

File đính kèm

  • Nối chuỗi cách cột.xlsb
    8.9 KB · Đọc: 33
Nhờ anh chị và các thầy viết giúp hàm như file đính kèm
Em xin cảm ơn
Thử hàm này.
Mã:
Public Function JoinText(Rng As Range) As String
    Dim s As String, i%, j%
    s = ""
    i = 1: j = (i - 1) * 6 + 1
    JoinText = Rng.Cells(1, i).Address
    Do While (j <= Rng.Columns.Count)
        If s = "" Then
            s = Rng.Cells(1, j)
        Else
            If Rng.Cells(1, j) <> "" Then s = s & ";" & Rng.Cells(1, j)
        End If
        i = i + 1
        j = (i - 1) * 6 + 1
    Loop
    JoinText = s
End Function
Cách dùng.
Mã:
=JoinText(I7:AJ7)
 
Upvote 0
Thử hàm này.
Mã:
Public Function JoinText(Rng As Range) As String
    Dim s As String, i%, j%
    s = ""
    i = 1: j = (i - 1) * 6 + 1
    JoinText = Rng.Cells(1, i).Address
    Do While (j <= Rng.Columns.Count)
        If s = "" Then
            s = Rng.Cells(1, j)
        Else
            If Rng.Cells(1, j) <> "" Then s = s & ";" & Rng.Cells(1, j)
        End If
        i = i + 1
        j = (i - 1) * 6 + 1
    Loop
    JoinText = s
End Function
Cách dùng.
Mã:
=JoinText(I7:AJ7)
Em cảm ơn anh ạ
Hàm đã có kết quả đúng rui anh
em muốn hàm có thể chọn số cột có khoảng cách tùy ý , và dấu ngăn cách tùy ý thì như nào hở anh?
Ví dụ: Cú pháp của hàm như sau:
=JoinText("dấu phân cách"; "khoảng cách";I7:AJ7)
 
Upvote 0
Em cảm ơn anh ạ
Hàm đã có kết quả đúng rui anh
em muốn hàm có thể chọn số cột có khoảng cách tùy ý , và dấu ngăn cách tùy ý thì như nào hở anh?
Ví dụ: Cú pháp của hàm như sau:
=JoinText("dấu phân cách"; "khoảng cách";I7:AJ7)
Sửa code lại thế này.
Mã:
Public Function JoinText(seperate As String, jump As Integer, Rng As Range) As String
    Dim s As String, i%, j%
    s = ""
    i = 1: j = (i - 1) * jump + 1
    JoinText = Rng.Cells(1, i).Address
    Do While (j <= Rng.Columns.Count)
        If s = "" Then
            s = Rng.Cells(1, j)
        Else
            If Rng.Cells(1, j) <> "" Then s = s & seperate & Rng.Cells(1, j)
        End If
        i = i + 1
        j = (i - 1) * jump + 1
    Loop
    JoinText = s
End Function
Sử dụng
Mã:
=JoinText(";",6,I7:AJ7)
 
Upvote 0
Function PickyJoin(rg As Range, gap As Long, delim As String) As String
' Joins non-blank strings in range rg (1 row, many columns), with specified interval intvl, and delimeter delim
For i = 1 To rg.Columns.Count Step gap
If rg.Cells(1, i).Value <> "" Then PickyJoin = PickyJoin & delim & rg.Cells(1, i).Value
Next i
PickyJoin = Replace(PickyJoin, delim, "", , 1)
End Function
 
Upvote 0
Đính chính: ở hàm trên, cần sửa những chỗ có "gap" thành "intvl"
Lúc đầun toi viết là gap (khoảng trống ở giữa), nhưng sau xem lại thì từ interval (khoảng cách) đúng hơn.
 
Upvote 0
Upvote 0
Upvote 0
Biết rồi thì cố tránh những từ như vầy. Có thiếu chi cách nói bằng từ ngữ khác.
Cháu cảm ơn Bác
Theo cháu nghĩ như này được không hở Bác
Sao BQT của diễn đàn không báo an ninh mạng để họ bắt những kẻ quấy rối này đi hở Bác.
Theo cháu biết thì luật có đầy đủ chứng cứ mà.
 
Upvote 0
Nếu tức thì cứ như vậy cho đỡ tức đi. Tội gì phải dùng ngôn ngữ của họ. Chẳng lẽ đi đường bị chó sủa thì bò xuống sủa lại nó à?
Một là mình bình tĩnh bỏ đi, đẻ cho nó lkaam tình trang ngậm máu phun người (*). Hai là mình thảy cho nó quả cà nướng trát mỡ, nó táp vào, bỏng nứu rụng răng hết.
(tôi trưởng thành trong xóm nhà lá, có hàng trăm mánh khoé đối đáp với bọn nhà giàu chuyên xua chó béc-giê rượt người nghèo)

(*) hàm huyết phún nhân, tiên ô tự khẩu.
 
Upvote 0
Nếu tức thì cứ như vậy cho đỡ tức đi. Tội gì phải dùng ngôn ngữ của họ. Chẳng lẽ đi đường bị chó sủa thì bò xuống sủa lại nó à?
Một là mình bình tĩnh bỏ đi, đẻ cho nó lkaam tình trang ngậm máu phun người (*). Hai là mình thảy cho nó quả cà nướng trát mỡ, nó táp vào, bỏng nứu rụng răng hết.
(tôi trưởng thành trong xóm nhà lá, có hàng trăm mánh khoé đối đáp với bọn nhà giàu chuyên xua chó béc-giê rượt người nghèo)

(*) hàm huyết phún nhân, tiên ô tự khẩu.
Hi hi... Bác oi, nếu học được đức tính như Bác thì...........
Đố Bác cháu nói gì đó?????
 
Upvote 0
Web KT

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

Back
Top Bottom