Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, sRng As Range
Dim Rws As Long
If Not Intersect(Target, Range([C10], [C10].End(xlDown).Offset(9))) Is Nothing Then ' Sheet dich '
With Sheets("DM_hang")
Rws = .[B8].CurrentRegion.Rows.Count
Set Rng = .[B8].Resize(Rws)
Set sRng = Rng.Find(Target, , , 1) ' * '
If Not sRng Is Nothing Then
Target.Offset(, 3).Resize(, 3).Value = sRng.Offset(, 1).Resize(, 3).Value
End If
End With
End If
End Sub
Xin cảm ơn Thầy. Mong tiếp tục nhận được sự giúp đỡ của Thầy để hoàn chỉnh File nàyNếu như mình hiểu đúng, thì macro sự kiện trong 'BC_Ban' mình sẽ viết như sau:
PHP:Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, sRng As Range Dim Rws As Long If Not Intersect(Target, Range([C10], [C10].End(xlDown).Offset(9))) Is Nothing Then ' Sheet dich ' With Sheets("DM_hang") Rws = .[B8].CurrentRegion.Rows.Count Set Rng = .[B8].Resize(Rws) Set sRng = Rng.Find(Target, , , 1) ' * ' If Not sRng Is Nothing Then Target.Offset(, 3).Resize(, 3).Value = sRng.Offset(, 1).Resize(, 3).Value End If End With End If End Sub
(*) Với mình thì các con số vô tri giác đó mình sẽ không xài
Với mình luôn là xlFormulas, xlWhole sẽ trực quan hơn
Có sách họ nói: Nhiều trường hợp nên xài xlFormulas sẽ nhanh hơn chút đĩnh, tuy vùng tìm kiếm chỉ là các Values
Tạm mới vậy, sẽ tiếp tục vào mai . . . .
Code thay thế cho hàm Sumifs bạn nghiên cứu thử Dictionary nhé, tốc độ chạy rất nhanh. Mình đọc yêu cầu vẫn chưa hiểu ý bạn, khúc thay thế hàm sumifs bằng code thì có thể giúp được nhưng qua tuần nhé hoặc chờ đợi ai đó giúp đỡChi tiết tôi xin được ghi rõ trong Sheet BC_ban và Sheet BC_NXT – Kính mong nhận được sự giúp đỡ của các bạn – Xin trân trọng cảm ơn
Bạn nhập vào ô O4 sheet BC_ban (Ngày 1/tháng/năm).Chi tiết tôi xin được ghi rõ trong Sheet BC_ban và Sheet BC_NXT – Kính mong nhận được sự giúp đỡ của các bạn – Xin trân trọng cảm ơn
Thưa thầy : Thật tuyệt; Trong Sheet BC_Ban thầy xử cho xin thêm là chỉ cho hiện những mặt hàng trong kỳ có phát sinh bán thôi còn những mặt hàng không phát sinh thì cho ẩn đi. Riêng Sheet BC_NXT (Báo cáo nhập-Xuất-Tồn) thì cho hiện tất cả các mặt hàng đã có khai mã bên Sheet DM_hàng. Rất cảm ơn thầy đã quan tâm giupx đỡ. Mong rằng được thầy ra tay giúp tiếp phần còn lại - Kính thầyBạn nhập vào ô O4 sheet BC_ban (Ngày 1/tháng/năm).
Nếu đúng yêu cầu thì bàn tiếp sheet khác.
Thưa thầy : Thật tuyệt; Trong Sheet BC_Ban thầy xử cho xin thêm là chỉ cho hiện những mặt hàng trong kỳ có phát sinh bán thôi còn những mặt hàng không phát sinh thì cho ẩn đi. Riêng Sheet BC_NXT (Báo cáo nhập-Xuất-Tồn) thì cho hiện tất cả các mặt hàng đã có khai mã bên Sheet DM_hàng. Rất cảm ơn thầy đã quan tâm giupx đỡ. Mong rằng được thầy ra tay giúp tiếp phần còn lại - Kính thầy
Dạ thưa thầy. Hôm trước nghĩ chưa thấu đáo mong thầy thông cảm _ Vì tất cả các mặt hàng trong kho trong tháng không thể bán tất cả, có nhiều mặt hàng trong tháng sẽ không bán nên sẽ là bất cập khi để thế in ra báo cáo - Xin thầy thứ lỗi
Bạn xem lại file này, đã làm luôn Sheet NXT.Dạ thưa thầy. Hôm trước nghĩ chưa thấu đáo mong thầy thông cảm _ Vì tất cả các mặt hàng trong kho trong tháng không thể bán tất cả, có nhiều mặt hàng trong tháng sẽ không bán nên sẽ là bất cập khi để thế in ra báo cáo - Xin thầy thứ lỗi
Cảm ơn thầy nhiều lắm lắm - Trước mắt chạy thử thấy rất đúng với ý tưởng. Tôi sẽ tes thử với số lượng dữ liệu nhiều lên nữa và số tháng nhiều lên nữa để kiểm tra lại dữ liệu chuyển tồn đầu chuẩn nữa thì không có gì để nói nữa Thầy ạ - Có gì xin được báo cáo lại với thầy sau vài ba ngày khi tes laị xong - Kính thầyBạn xem lại file này, đã làm luôn Sheet NXT.
Sheet BTH đổi thành BTH_X để dễ so với BTH_N.
DIỄN ĐÀN GIẢI PHÁP EXCEL