- Tham gia
- 23/3/16
- Bài viết
- 705
- Được thích
- 52
Function NoiSL(rng As Range) As String
Dim r As Long, tmp As Variant
If rng.Columns.Count <> 2 Then Exit Function
tmp = rng.Value
For r = 1 To UBound(tmp, 1)
NoiSL = NoiSL & tmp(r, 1) & " [" & tmp(r, 2) & "], "
Next r
NoiSL = Left(NoiSL, Len(NoiSL) - 2) 'Kết quả khác với yêu cầu vì bỏ 2 ký tự cuối "[SIZE=3][COLOR=#ff0000], [/COLOR][/SIZE]". Nếu không cần bỏ 2 ký tự này thì xóa dòng này đi.
End Function
Bạn xem file đính kèm nhé!Chào cả nhà GPE !
Em muốn dùng 1 đoạn Code để nối tên hàng và Số lượng lại. em có gửi File mong mọi người giúp đở
Bạn xem file đính kèm nhé!
Công thức ở bảng tính:Mã:Function NoiSL(rng As Range) As String Dim r As Long, tmp As Variant If rng.Columns.Count <> 2 Then Exit Function tmp = rng.Value For r = 1 To UBound(tmp, 1) NoiSL = NoiSL & tmp(r, 1) & " [" & tmp(r, 2) & "], " Next r NoiSL = Left(NoiSL, Len(NoiSL) - 2) 'Kết quả khác với yêu cầu vì bỏ 2 ký tự cuối "[SIZE=3][COLOR=#ff0000], [/COLOR][/SIZE]". Nếu không cần bỏ 2 ký tự này thì xóa dòng này đi. End Function
E5=NoiSL(B3:C7)
Dạ em thank anh nhiều lắm. ý là em muốn =NoiSL(B3:C50) LUÔN chứ nhiều khi Tên hàng em ít 5 dòng hay 10 dòng thì chẳng lẽ em thay đổi lại công thức
Function NoiSL(rng As Range) As String
Dim r As Long, tmp As Variant
If rng.Columns.Count <> 2 Then Exit Function
tmp = rng.Value
For r = 1 To UBound(tmp, 1)
If tmp(r, 1) <> NullString Then NoiSL = NoiSL & tmp(r, 1) & " [" & tmp(r, 2) & "], "
Next r
End Function
Mã:Function NoiSL(rng As Range) As String Dim r As Long, tmp As Variant If rng.Columns.Count <> 2 Then Exit Function tmp = rng.Value For r = 1 To UBound(tmp, 1) If tmp(r, 1) <> NullString Then NoiSL = NoiSL & tmp(r, 1) & " [" & tmp(r, 2) & "], " Next r End Function
Lỗi chỗ này nè:"Chết mệt" với ông tướng này.
Lỗi làm sao thì nêu rõ lỗi hoặc chụp cái hình úp lên...
p/s: Vui lòng cẩn trọng kiểm tra kỹ đã nhé.
View attachment 169893
Vậy thôi nha!!!
Function NoiSL(rng As Range) As String
Dim r As Long, tmp As Variant
If rng.Columns.Count <> 2 Then Exit Function
tmp = rng.Value
For r = 1 To UBound(tmp, 1)
If tmp(r, 1) <> [COLOR=#ff0000]NullString[/COLOR] Then NoiSL = NoiSL & tmp(r, 1) & " [" & tmp(r, 2) & "], "
Next r
End Function
Nếu là "dân chơi" thì mời nghiên cứu code này:Chào cả nhà GPE !
Em muốn dùng 1 đoạn Code để nối tên hàng và Số lượng lại. em có gửi File mong mọi người giúp đở
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
"Chết mệt" với ông tướng này.
Lỗi làm sao thì nêu rõ lỗi hoặc chụp cái hình úp lên...
p/s: Vui lòng cẩn trọng kiểm tra kỹ đã nhé.
View attachment 169893
Vậy thôi nha!!!