Viết yêu cầu xong bạn có kiểm tra lại mình viết đúng không?Em nhờ các anh chị viết giúp em code cho bài toán sau với ạ. Em gửi file và nội dung bài toán trong file. Em cảm ơn anh chị ạ.
Em muốn lấy dữ liệu từ sheetA ( cột G, cột D, cột A) sang sheetBH |
Vâng ạ. Em lấy dữ liệu ở sheeta cột H sang sheet BH theo điều kiện dòng 1 và cột B ( bình thường thì làm hàm sumis, ) nhưng em không muốn lấy số tổng mà chỉ lấy số từ cái ( kết quả giống sheet bh em để 5+5) ấy ạ. Em cảm ơn anh chị ạ!Viết yêu cầu xong bạn có kiểm tra lại mình viết đúng không?
Em muốn lấy dữ liệu từ sheetA ( cột G, cột D, cột A) sang sheetBH
Vậy mà bạn vẫn không thèm xem lại.Vâng ạ. Em lấy dữ liệu ở sheeta cột G sang sheet BH theo điều kiện dòng 1 và cột B ( bình thường thì làm hàm sumis, ) nhưng em không muốn lấy số tổng mà chỉ lấy số từ cái ( kết quả giống sheet bh em để 5+5) ấy ạ. Em cảm ơn anh chị ạ!
Vâng a, tại e ko biết diễn đạt ý a ah. E xin lỗi. Ví dụ ở sheet bh: khách sạn (a1), mặt hàng: đùi rxg: được lấy số liệu từ sheeta tương ứng. Sheeta: đùi rxg có 5, 5( hai lần xuất hiện) thì bên sheetbh sẽ hiện 5+5 nhưng ko hiện =10. Vì e ko chỉ muốn hiện 5+5 ạ ( nếu hiện 10 thì e sẽ dùng sumifs ạ)Vậy mà bạn vẫn không thèm xem lại.
G5="(2.2kg/con)", lấy cái gì? sang bên kí thành "5+5"
Thua luôn!
Vâng a, dùng mã hàng cũng được a ah. A giúp e với ạ.Vậy mà bạn vẫn không thèm xem lại.
G5="(2.2kg/con)", lấy cái gì sang bên kia thành "5+5"
Thua luôn!
Bài này muốn viết code thì phải dùng Mã Hàng, ví dụ "10110" chứ không dùng "ĐÙI RXG"
Bạn vẫn không nhận mình sai, muốn 5+5 thì phải lấy cột H, bạn ghi yêu cầu cột G mà cũng không phân biệt.Các anh chị giúp e với ạ
Bài đã được tự động gộp:
Vâng a, dùng mã hàng cũng được a ah. A giúp e với ạ.
Trời đất, sao em lại không để ý cột nhỉ. Em xin lỗi, đúng là cột H. Vì lúc đầu cột em là cột G nhưng vì em thêm 1 cột đơn vị tính, nên trong đầu vẫn đang nghĩ cột G. Em thành thật xin lỗi Group vì nhầm lẫn này ạ. Em không có ý đùa gì, Em xin lỗi ạ!Bạn vẫn không nhận mình sai, muốn 5+5 thì phải lấy cột H, bạn ghi yêu cầu cột G mà cũng không phân biệt.
VBA không đùa được!
Ghi chú: tôi cũng ghét đọc a, ah, e... bởi vì khi tôi muốn giúp, tôi không thể viết tắt trong VBA vì "hà tiện" công gõ phím.
Em thành thật xin lỗi anh. Anh giúp em với ạ. Em cảm ơn anh!Bạn vẫn không nhận mình sai, muốn 5+5 thì phải lấy cột H, bạn ghi yêu cầu cột G mà cũng không phân biệt.
VBA không đùa được!
Ghi chú: tôi cũng ghét đọc a, ah, e... bởi vì khi tôi muốn giúp, tôi không thể viết tắt trong VBA vì "hà tiện" công gõ phím.
Anh ấy đã nói thế mà bạn vẫn tiếp tục viết tắt được thì mình cũng chịu bạn đấy: "Trời đất, sao em lại ko để ý cột nhỉ", "Em ko có ý đùa gì "Trời đất, sao em lại ko để ý cột nhỉ. Em xin lỗi, đúng là cột H. Vì lúc đầu cột em là cột G nhưng vì em thêm 1 cột đơn vị tính, nên trong đầu vẫn đang nghĩ cột G. Em thành thật xin lỗi Group vì nhầm lẫn này ạ. Em ko có ý đùa gì, Em xin lỗi ạ!
Bài đã được tự động gộp:
Em thành thật xin lỗi anh. Anh giúp em với ạ. Em cảm ơn anh!
Em sẽ rút kinh nghiệm ạ.Anh ấy đã nói thế mà bạn vẫn tiếp tục viết tắt được thì mình cũng chịu bạn đấy: "Trời đất, sao em lại ko để ý cột nhỉ", "Em ko có ý đùa gì "
Vâng anh. Em gửi lại bảng anh giúp em với ạ! Em cảm ơn anh ạ!Bảng dữ liệu sai chuẩn rồi.
Muốn làm việc với bảng tính, rồi muốn học VBA thì bài vỡ lòng là học thiết kế cấu trúc bảng dữ liệu đúng chuẩn.
Cho code dưới đây vào một module:Vâng anh. Em gửi lại bảng anh giúp em với ạ! Em cảm ơn anh ạ!
Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String
Dim aTmp, arrDes(), Item, tmp As String
Dim idx As Long, n As Long
'On Error Resume Next
For idx = LBound(Arrays) To UBound(Arrays)
aTmp = Arrays(idx)
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 arrDes(1 To n)
arrDes(n) = tmp
End If
Next
Next
If n Then JoinText = Join(arrDes, Delimiter)
End Function
=jointext("+",IF(($B3=A!$A$5:$A$100)/(C$2=A!$D$5:$D$100),A!$H$5:$H$100,1/0))
Vâng anh. Em Cảm ơn anh chị nhiều ạCho code dưới đây vào một module:
Tại sheet BH, gõ công thức dưới đây vào cell B3:Mã:Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String Dim aTmp, arrDes(), Item, tmp As String Dim idx As Long, n As Long 'On Error Resume Next For idx = LBound(Arrays) To UBound(Arrays) aTmp = Arrays(idx) 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 arrDes(1 To n) arrDes(n) = tmp End If Next Next If n Then JoinText = Join(arrDes, Delimiter) End Function
Kéo fill sang phải và xuống dướiMã:=jointext("+",IF(($B3=A!$A$5:$A$100)/(C$2=A!$D$5:$D$100),A!$H$5:$H$100,1/0))