Nhờ anh chị tìm dùm công thức nối chuỗi (2 người xem)

  • Thread starter Thread starter titanic
  • Ngày gửi Ngày gửi

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

titanic

Thành viên hoạt động
Tham gia
25/5/10
Bài viết
161
Được thích
11
chào anh/chi
nhờ anh chị tìm dùm em công thức nối chuỗi gọn hơn cái mở hỗ độn em đã làm.
em có gửi file đính kèm nhờ anh/chi xem qua, giúp hộ dùm.
cảm ơn
 

File đính kèm

chào anh/chi
nhờ anh chị tìm dùm em công thức nối chuỗi gọn hơn cái mở hỗ độn em đã làm.
em có gửi file đính kèm nhờ anh/chi xem qua, giúp hộ dùm.
cảm ơn
Bạn xem file đính kèm nhé
Mã:
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
Dùng code sau của Thầy ndu nhé
Mã:
=+JoinText(",",A2:A10)
 

File đính kèm

Upvote 0
anh có thể hước dẫn em cách VBS được không em thấy nó hay quá, công thức nối OK nhưng nó vẫn du dấu ',' ở phía sau ( VD : có 4 số điện thoại thì mỗi số cách nhau 1 dấu "," thôi. mấy dấu "," ở phía sau mình bỏ đi được không anh ?
 
Lần chỉnh sửa cuối:
Upvote 0
anh có thể hước dẫn em cách VBS được không em thấy nó hay quá

Bạn chọn Alt+F11, chọn workbook cần chọn module. Copy code rồi Insert module paste rồi save là được nhé
ở file excel 2003, Tool/Marco/security/ chọn bạn medium để enable marco nhé
Ở Tab Home (Cạnh mấy nút save, undo) kích vào mũi tên nhỏ trỏ xuống rồi làm theo đường dẫn sau:
More Command/Trust Center/Trust Center Settings/Marco Setting/ Enable all Marco/ok
Save file rồi tắt file và mở lại file. Đây là của 2007
 
Lần chỉnh sửa cuối:
Upvote 0
cái đó em làm được rồi. bongmaihung viết lại cái code bỏ các dấu ' , ' thừ ở phía sau dùm. cảm ơn }}}}}
 
Upvote 0
cái đó em làm được rồi. bongmaihung viết lại cái code bỏ các dấu ' , ' thừ ở phía sau dùm. cảm ơn }}}}}

Bạn để công thức
=+JoinText(",",A2:A4)là tự hết mà bạn
Nếu muốn một dấu phẩy sau thì
Mã:
=+JoinText(",",A2:A5)
nhé
 
Lần chỉnh sửa cuối:
Upvote 0
chào anh/chi
nhờ anh chị tìm dùm em công thức nối chuỗi gọn hơn cái mở hỗ độn em đã làm.
em có gửi file đính kèm nhờ anh/chi xem qua, giúp hộ dùm.
cảm ơn
Cho code này vào 1 module. Cú pháp =Noi(A1:A1000)
PHP:
Function Noi(rng As Range) As String
Dim sarr(), it, tam
sarr = rng.Value
For Each it In sarr
   If it <> "" Then
      tam = tam & "," & it
   End If
Next
Noi = Replace(tam, ",", "", 1, 1)
End Function
 
Upvote 0
Cho code này vào 1 module. Cú pháp =Noi(A1:A1000)
PHP:
Function Noi(rng As Range) As String
Dim sarr(), it, tam
sarr = rng.Value
For Each it In sarr
   If it <> "" Then
      tam = tam & "," & it
   End If
Next
Noi = Replace(tam, ",", "", 1, 1)
End Function
Công nhận chú Hải khoái "Pho pho" thật, bài này có thể viết thế này cũng được:
Mã:
Public Function Noi(Vung As Range) As String
    Noi = Replace(WorksheetFunction.Trim(Join(WorksheetFunction.Transpose(Vung))), " ", ", ")
End Function
Híc
 
Upvote 0
Công nhận chú Hải khoái "Pho pho" thật, bài này có thể viết thế này cũng được:
Mã:
Public Function Noi(Vung As Range) As String
    Noi = Replace(WorksheetFunction.Trim(Join(WorksheetFunction.Transpose(Vung))), " ", ", ")
End Function
Híc
Lỡ như chọn 2 cột thì cho anh chết luôn
 
Upvote 0
Thì em biết vậy, nhưng phải kiếm gì đó thọt anh chứ.
Lâu lâu "xì- pam" một cái
Thèm "dzụ" của Duy Thương quá, hôm nào Hải rủ Thương quất một bữa, ở đâu cũng chơi, nhắn chú Thương lấy nhiều nhiều á, hôm bữa có 2 chai tí tẹo, mọi người bu "dzô", liếm một cái ......hết trơn (tội cho Ba Tê). Híc
 
Upvote 0
Lâu lâu "xì- pam" một cái
Thèm "dzụ" của Duy Thương quá, hôm nào Hải rủ Thương quất một bữa, ở đâu cũng chơi, nhắn chú Thương lấy nhiều nhiều á, hôm bữa có 2 chai tí tẹo, mọi người bu "dzô", liếm một cái ......hết trơn (tội cho Ba Tê). Híc
Tại anh thôi, bữa hội ngộ sau đó uống đã luôn. 2 trận tưng bừng. Vậy hẹn nhau BH đi anh. Chiến hữu bên đó khéo tay lắm và cũng rất hiếu khách. Mình chỉ chịu khó vác thân ngà ngọc đến nộp mạng là muốn gì cũng có.
 
Upvote 0
cái đó em làm được rồi. bongmaihung viết lại cái code bỏ các dấu ' , ' thừ ở phía sau dùm. cảm ơn }}}}}

Vẫn là code đó nhưng bạn sửa công thức trên bảng tính thành:
Mã:
=JoinText(",",IF(A2:A10="",NA(),A2:A10))
Sau khi gõ xong công thức, phải bấm Ctrl + Shift + Enter để kết thúc nhé
Hàm JoinText này là hàm nối chuỗi rất đa năng, có thể nối chuỗi theo điều kiện tùy ý đấy
 
Upvote 0
chào anh QUANGHAI lâu quá mới được gặp lại anh. anh còn nhận dạy excel không ? cho em theo học với. dạo này em đang rảnh
code em copy vào cái modun thì chạy lần đầu tiên rất ok nhưng không hiểu sao khi tắt file rồi mở lên lại thì nó bị mất. e có kèm file ảnh anh xem thửloi excel.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
chào anh QUANGHAI lâu quá mới được gặp lại anh. anh còn nhận dạy excel không ? cho em theo học với. dạo này em đang rảnh
code em copy vào cái modun thì chạy lần đầu tiên rất ok nhưng không hiểu sao khi tắt file rồi mở lên lại thì nó bị mất. e có kèm file ảnh anh xem thửView attachment 128189
Khi đóng file excel hiện bảng thông báo hỏi có muốn lưu file có chứa macro hay không?
Tình huống này phải chọn NO. Sau đó file lưu file dưới dạng xlsm hoặc xls hoặc xlsb nha. Nếu lưu bình thường xlsx thì không có macro, mở lên sẽ không chạy được.
Bữa nào mình có đi ngang ghé chỉ cho vài ngày. 3 ngày là có 1/2 kiến thức của mình.
 
Upvote 0

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

Back
Top Bottom