Viết code giống hàm sumproduct!!!

  • Thread starter Thread starter bactu
  • Ngày gửi Ngày gửi
Liên hệ QC

bactu

Thành viên thường trực
Tham gia
19/10/07
Bài viết
304
Được thích
277
Donate (Momo)
Donate
Em đang học VBA. Không biết cách viết hàm giống như sumproduct

Ví dụ như: Sumproduct(--(MaSP = SP),--(Ngay>=ngaydk),--(Ngay<=ngayck),TT)

Trong đó MaSP, Ngay, TT nằm ở sheet khác.

Mong các bác giúp!
 
Code thì có thể giống như vầy! Do mình không có file để test nên chẳng biết đúng hay sai. Bạn nên gửi file lên thì chắc hơn.
PHP:
WorksheetFunction.SumProduct(--(Range("MaSP") = Range("SP")),--(Range("Ngay") >= Range("ngaydk")),--(Range("Ngay")  Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Code thì có thể giống như vầy! Do mình không có file để test nên chẳng biết đúng hay sai. Bạn nên gửi file lên thì chắc hơn.
PHP:
WorksheetFunction.SumProduct(--(Range("MaSP") = Range("SP")),--(Range("Ngay") >= Range("ngaydk")),--(Range("Ngay") <= Range("ngayck")), Range("TT"))
Thân.
Bảo đảm chạy không được đâu Po_Pikachu ơi!

@bactu: Bạn tạo hàm mới chi vậy! Sao không dùng luôn SUMPRODUCT cho nó tiện! Cái nào có sẵn thì mình xài!
 
Upvote 0
Thật sự thì chẳng biết khi viết code thì nó sẽ trông như thế nào vì không có file dữ liệu. Hoặc có thể dùng chức năng Evaluate để tính toán cũng là 1 cách. Hoặc chỉ đơn giản là dùng các công cụ khác để thực hiện quá trình phân tích dữ liệu kia. Nói chung là có nhiều cách quá mà không có dữ liệu thì như mù vậy! Heeee Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Em đang học VBA. Không biết cách viết hàm giống như sumproduct

Ví dụ như: Sumproduct(--(MaSP = SP),--(Ngay>=ngaydk),--(Ngay<=ngayck),TT)

Trong đó MaSP, Ngay, TT nằm ở sheet khác.

Mong các bác giúp!

Mình nói thêm: việc dùng SUMPRODUCT không liên quan gì đến các name [MaSP], [Ngay] , [TT] nằm ở sheet nào, cứ việc đặt name rồi dùng SUMPRODUCT! Không cần phải tạo hàm mới làm gì!
 
Upvote 0
Thật sự thì chẳng biết khi viết code thì nó sẽ trông như thế nào vì không có file dữ liệu.
Hoặc có thể dùng chức năng Evaluate để tính toán cũng là 1 cách. Hoặc chỉ đơn giản là dùng các công cụ khác để thực hiện quá trình phân tích dữ liệu kia.
Nói chung là có nhiều cách quá mà không có dữ liệu thì như mù vậy!
Heeee
Thân.

Bạn muốn xem Sumproduct trong VBA thì có ở đây:
http://www.giaiphapexcel.com/forum/showthread.php?t=12633&page=2
 
Upvote 0
Cái này không thể gọi là Sumproduct trong VBA được bác à! Vì nó chỉ chèn công thức Sumproduct vào cell thôi. Không tính đâu. Hiiiiiiiiii
PHP:
Cells(i, 8).Formula = "=SUMPRODUCT((R2C1:R50000C1=RC[-2])*(R2C2:R50000C2=RC[-1])*(R2C3:R50000C3))"
Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Bảo đảm chạy không được đâu Po_Pikachu ơi!

@bactu: Bạn tạo hàm mới chi vậy! Sao không dùng luôn SUMPRODUCT cho nó tiện! Cái nào có sẵn thì mình xài!

Cám ơn các bác rất nhiều!

Em đang học VBA mới có mấy ngày thôi mà tự học là chính!

Em gửi lại file các bác xem giúp em nha!

P/s: Sau khi đặt công thức em muốn copy và paste\value luôn bằng VBA

Cám ơn nhiều!!!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn các bác rất nhiều!
Em đang học VBA mới có mấy ngày thôi mà tự học là chính!
Em gửi lại file các bác xem giúp em nha!

P/s: Sau khi đặt công thức em muốn copy và paste\value luôn bằng VBA
Cám ơn nhiều!!!
Thì bạn cứ copy, paste bình thường thôi...
Viết thành code cũng thế:
Range( gì gì đó).Value = Range( gì gì đó).Value

---------------------------------------------------
Nói thêm: Bài toán này mà viết code theo kiểu SUMPRODUCT tôi cho là hạ sách
Tại sao không dùng PivotTable ---> Cần code gì đâu chứ
Giãi pháp hửu hiệu chính là giãi pháp đơn giãn nhất
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Mình làm 1 ví dụ nhỏ về cách dùng SUMPRODUCT trong VBA
File ví dụ dùng để thống kê các số liệu ở Sheet2 và cho phép lựa chọn điều kiện thống kê (tối đa 5 điều kiện).

Các bạn tối ưu thêm
TDN
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom