ongcusike
Thành viên mới

- Tham gia
- 10/3/08
- Bài viết
- 48
- Được thích
- 8
- Giới tính
- Nữ
- Nghề nghiệp
- LAS-XD

Bạn sử dụng hàm VBA này thử xemNhờ a chị em giúp em có công thức nào mà khi thấy ô cột I có từ (đang gửi ) thì nối các mã code (bin) ở cột C lại với nhau không ,ngăn cách với nhau bằng dấu phẩy ,
đây là file ạ
Public Function GhepChuoi(VungDK As Range, VungGhep As Range) As String
Dim arr(), i As Long, cot1 As Long, cot2 As Long
ReDim arr(0)
cot1 = VungDK.Column
cot2 = VungGhep.Column
For i = VungDK.Row To VungDK.Row + VungDK.Rows.Count
If Cells(i, cot1).Value = "Ðang g" & ChrW(7917) & "i" Then
arr(UBound(arr)) = Cells(i, cot2).Value
ReDim Preserve arr(UBound(arr) + 1)
End If
Next i
ReDim Preserve arr(UBound(arr) - 1)
GhepChuoi = Join(arr, ",")
End Function
=GhepChuoi(I7:I16,C7:C16)
em chưa biết cách dùng VBA
a có thể chỉ rõ hơn được ko?
=IFERROR( LOOKUP(2,1/($I$6:I6=I7),$K$6:K6) & "," & C7,C7)
=LOOKUP(2,1/($I$7:$I$16="Đang gửi"),$K$7:$K$16)

mình vừa thử đoạn code đó vào nhưng toàn thấy báo lỗi NAMEBạn sử dụng hàm VBA này thử xem
Sử dụng như sau:Mã:Public Function GhepChuoi(VungDK As Range, VungGhep As Range) As String Dim arr(), i As Long, cot1 As Long, cot2 As Long ReDim arr(0) cot1 = VungDK.Column cot2 = VungGhep.Column For i = VungDK.Row To VungDK.Row + VungDK.Rows.Count If Cells(i, cot1).Value = "Ðang g" & ChrW(7917) & "i" Then arr(UBound(arr)) = Cells(i, cot2).Value ReDim Preserve arr(UBound(arr) + 1) End If Next i ReDim Preserve arr(UBound(arr) - 1) GhepChuoi = Join(arr, ",") End Function
Tham số đầu là vùng điều kiện, tham số sau là vùng cần ghép lại.Mã:=GhepChuoi(I7:I16,C7:C16)

thanks bạn,cách làm của bạn đúng ý mình rùi.Mình cũng chưa biết cách dùng VBA nên mình sẽ làm vầy
ghi vào ô K7
Mã:=IFERROR( LOOKUP(2,1/($I$6:I6=I7),$K$6:K6) & "," & C7,C7)
fill xuống hết bảng
sau đó ghi vào ô C21
Mã:=LOOKUP(2,1/($I$7:$I$16="Đang gửi"),$K$7:$K$16)
Mình chỉ biết cách củ chuối này:em chưa biết cách dùng VBA
a có thể chỉ rõ hơn được ko?
=SUBSTITUTE(TRIM(IF(I7="Đang gửi",C7,"")&" "&IF(I8="Đang gửi",C8,"")&" "&IF(I9="Đang gửi",C9,"")&" "&IF(I10="Đang gửi",C10,"")
&" "&IF(I11="Đang gửi",C11,"")&" "&IF(I12="Đang gửi",C12,"")&" "&IF(I13="Đang gửi",C13,"")&" "&IF(I14="Đang gửi",C14,"")
&" "&IF(I15="Đang gửi",C15,"")&" "&IF(I16="Đang gửi",C16,""))," ",",")
Bạn xem thử có báo lỗi không?mình vừa thử đoạn code đó vào nhưng toàn thấy báo lỗi NAME

cột C của mình có hàng trăm,hàng nghìn dòng mà dùng dòng lệnh như của bạn k ổnMình chỉ biết cách củ chuối này:
Mã:=SUBSTITUTE(TRIM(IF(I7="Đang gửi",C7,"")&" "&IF(I8="Đang gửi",C8,"")&" "&IF(I9="Đang gửi",C9,"")&" "&IF(I10="Đang gửi",C10,"") &" "&IF(I11="Đang gửi",C11,"")&" "&IF(I12="Đang gửi",C12,"")&" "&IF(I13="Đang gửi",C13,"")&" "&IF(I14="Đang gửi",C14,"") &" "&IF(I15="Đang gửi",C15,"")&" "&IF(I16="Đang gửi",C16,""))," ",",")
Nhờ a chị em giúp em có công thức nào mà khi thấy ô cột I có từ (đang gửi ) thì nối các mã code (bin) ở cột C lại với nhau không ,ngăn cách với nhau bằng dấu phẩy ,
đây là file ạ
Thầy này lúc nào cũng đỉnh cả.Bạn xem file này, enable macros khi mở file.

cảm ơn anh,....................Bạn xem file này, enable macros khi mở file.

cái enable macros áp dụng cho cột C và I có n dòng hả thầyBạn xem file này, enable macros khi mở file.

các thầy giúp em thêm 1 lần nữa với.
khi cột I có số "đang gửi ">5 ,thì tại cột C21 nó chỉ lấy 5 mã của cột C,còn phần thừa chuyển sang C22 (lấy 5 mã),thừa chuyển tiếp sang C23.(lấy 5 mã ),thừa chuyển tiếp sang Cn (lấy max là 5 mã).....

cảm ơn thầy,em đã áp dụng vào thực tế của em,rất nhanh và chính xácXem file này lần nữa,copy công thức xuống khi gặp "-" thì ngưng.
Code này hạn chế tối đa 1.000 ô "Đang gửi" thôi nhé.

cảm ơn bạn đã giúp mình,mình đã áp dụng cách của thầy bate vào công việc .Mượn bài #4 để làm 5 mã