Chuyển công thức sang VBA (1 người xem)

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

Người dùng đang xem chủ đề này

0167767

Thành viên hoạt động
Tham gia
10/3/12
Bài viết
141
Được thích
10
Tôi ví dụ có 1 công thức này: SUMPRODUCT((D1:D20=C6)*(O1:O20="G")) cho hỏi muốn gán CT này vào sheet3! Ô F6 thì mình viết code như thế nào?
 
Tôi ví dụ có 1 công thức này: SUMPRODUCT((D1:D20=C6)*(O1:O20="G")) cho hỏi muốn gán CT này vào sheet3! Ô F6 thì mình viết code như thế nào?
Bạn sử dụng câu lệnh sau:
PHP:
Sheet3.[F6].FormulaR1C1 = "=SUMPRODUCT((R1C4:R20C4=RC3)*(R1C15:R20C15=""G""))"
Thực ra thì câu lệnh trên tương đương với công thức này (chú ý địa chỉ tuyệt đối, tương đối):
Mã:
=SUMPRODUCT(($D$1:$D$20=$C6)*($O$1:$O$20="G"))
Nếu cần thiết thì bạn có thể sửa lại cho phù hợp. Cụ thể, công thức trên của bạn tương đương với câu lệnh sau:
PHP:
Sheet3.[F6].FormulaR1C1 = "=SUMPRODUCT((R[-5]C[-2]:R[14]C[-2]=RC[-3])*(R[-5]C[9]:R[14]C[9]=""G""))"
Mấy câu hỏi dạng chuyển từ công thức sang VBA thì bạn cứ Record macro là biết liền chứ có gì khó khăn.
 
Upvote 0
Thử vầy xem:
PHP:
Sheet3.Range("F6").Value = "=SUMPRODUCT((R1C4:R20C4=RC3)*(R1C15:R20C15=""G""))"
Bạn giải thích thêm những chữ có màu đỏ R1C4:R20C4=RC3 và R1C15:R20C15 ở trên dùm tôi nhé.
Cho hỏi trường hợp là từ D1:D20 và O1:O20 Tôi đặt trong name là D=D1:D20 và O=O1:O20
vậy là code khác đi rồi đúng không bạn.
 
Upvote 0
R1C4:R20C4=RC3 và R1C15:R20C15
Bạn muốn biết thì vào Excel chon Tools/options/General/setting chọn đánh chọn vào R1C1....... LÀ BIẾT LIỀN
Còn công thức đó là đúng rồi bạn ơi
Bạn giải thích thêm những chữ có màu đỏ R1C4:R20C4=RC3 và R1C15:R20C15 ở trên dùm tôi nhé.
Cho hỏi trường hợp là từ D1:D20 và O1:O20 Tôi đặt trong name là D=D1:D20 và O=O1:O20
vậy là code khác đi rồi đúng không bạn.
 
Upvote 0
Bạn giải thích thêm những chữ có màu đỏ R1C4:R20C4=RC3 và R1C15:R20C15 ở trên dùm tôi nhé.
Cho hỏi trường hợp là từ D1:D20 và O1:O20 Tôi đặt trong name là D=D1:D20 và O=O1:O20
vậy là code khác đi rồi đúng không bạn.
- Câu hỏi thứ nhất: R là Row, C là Column, vì vậy:
+ R1C4 được hiểu là ô nằm tại hàng 1, cột 4, chính là ô $D$1, tương tự cho các anh chàng R20C4, R1C15, R20C15.
+ RC3 được hiểu là ô nằm cùng hàng với ô hiện hành và trên cột 3, tức là ô $C6.
+ R[14]C[-2] được hiểu là ô nằm sau ô hiện hành (F6) 14 hàng và trước ô hiện hành 2 cột, tức là ô D20.
- Câu hỏi thứ hai: Bạn cứ thử nghiệm Record macro là biết liền chứ gì?!
 
Upvote 0
Web KT

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

Back
Top Bottom