Code VBA cộng dộn SL trong 1 ô khi chưa biết trước tên hàng

Liên hệ QC

Ducminhpro

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
30/7/20
Bài viết
15
Được thích
3
Xin chào mọi người !
Tôi có 1 file excel tôi muốn cộng dồn số lượng tại ô G4 với điều kiện từ ngày đến ngày tại ô E4,F4 trong vùng dữ liệu B4:C50000. Nhưng do tôi chưa biết tên hàng trước nên không thể dùng SUmif được. Tôi nhờ mọi người giúp viết Code VBA để cộng được như ảnh bên dưới. Tôi cảm ơn !



1596679593553.png
 

File đính kèm

  • cong don.xlsx
    10.2 KB · Đọc: 11
ý mình là không cần đếm ô rổng. Chỉ đếm những tên hàng có Len >0 thôi. Còn rổng không cần hiện ra. Vì hiện ra cũng không có tác dụng. Vi mình chỉ muốn nhìn những tên hàng xuất hiện bao nhiêu lần thôi. Bỏ qua rổng
 

File đính kèm

  • Dem_TrongGiaiDoan.xlsm
    19 KB · Đọc: 16
Upvote 0
ngã mũ kính cẩn khâm phục code của bác @Ba Tê ....
Em mới làm thử, rồi đọc code của Bác xong thì động tác đầu tiên là em xóa ngay và luôn cái mà em vừa làm!!! hichic
 
Upvote 0
ngã mũ kính cẩn khâm phục code của bác @Ba Tê ....
Em mới làm thử, rồi đọc code của Bác xong thì động tác đầu tiên là em xóa ngay và luôn cái mà em vừa làm!!! hichic
Vậy thì nên tặng 1 trái tim đi chứ =)))
Code này gần tương tự code mà bác @Ba Tê viết trong một bài viết về Dictionary, và đề bài tác giả yêu cầu không được dùng Dic.exists rồi gì đó nữa mà mình không nhớ lắm.
 
Upvote 0
Vậy thì nên tặng 1 trái tim đi chứ =)))
Code này gần tương tự code mà bác @Ba Tê viết trong một bài viết về Dictionary, và đề bài tác giả yêu cầu không được dùng Dic.exists rồi gì đó nữa mà mình không nhớ lắm.
Đúng rùi, chính vì không sử dụng Dic.Exist mà làm em ngất ngây luôn đó anh @Nhattanktnn ơi...
 
Upvote 0
Xin chào mọi người !
Tôi có 1 file excel tôi muốn cộng dồn số lượng tại ô G4 với điều kiện từ ngày đến ngày tại ô E4,F4 trong vùng dữ liệu B4:C50000. Nhưng do tôi chưa biết tên hàng trước nên không thể dùng SUmif được. Tôi nhờ mọi người giúp viết Code VBA để cộng được như ảnh bên dưới. Tôi cảm ơn !



View attachment 242487
Liên quan đến nối chuỗi có điều kiện, cứ dùng bộ hàm JOIN tôi viết, nó sẽ làm được tất tần tật mới thứ mà bạn nghĩ ra được
Như file này, công thức cho G4 sẽ là:
Mã:
=joinif(", ",($B$4:$B$20>=E4)*($B$4:$B$20<=F4),1,$C$4:$C$20&"("&COUNTIFS(C4:C20,C4:C20,B4:B20,">="&E4,B4:B20,"<="&F4)&")")
Đương nhiên là bạn đã có code của bộ hàm JOINIF (cách dùng gần giống SUMIF)
 

File đính kèm

  • cong don.xlsm
    21 KB · Đọc: 8
Upvote 0
Cách chọn ngày này hơi bất thường.
Bình thường, người ta chọn ngày n1 đến n2 thì người ta cắt giờ đi rồi lấy n >= n1 And n <= n2. Hoặc nếu không cát giờ thì ngừoi ta lấy n >= n1 And n < n2+1
 
Upvote 0
Tôi xin cảm ơn bạn. Code chạy quá hoàn hảo
Bài đã được tự động gộp:

Thử thay dòng:

If arrData(i, 1) >= StartDate And arrData(i, 1) <= EndDate Then

bằng dòng:

If arrData(i, 1) >= StartDate And arrData(i, 1) <= EndDate And arrData(i, 2) <> "" Then
Cảm ơn bạn
 
Upvote 0
Web KT

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

Back
Top Bottom