Sửa code tính tổng range?

  • Thread starter Thread starter ST-Lu!
  • Ngày gửi Ngày gửi
Liên hệ QC

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I & target.row  :K & target.row")

Em đang làm và bị sai ở phần bôi đậm trên chưa biết sửa như thế nào? xin cảo thủ chỉ dạy

Tks
 
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I & target.row  :K & target.row")
Em đang làm và bị sai ở phần bôi đậm trên chưa biết sửa như thế nào? xin cảo thủ chỉ dạy

Tks
Bạn sửa lại thế này xem:
PHP:
Range("L" & Target.Row).Value = Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")")
 
Upvote 0
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I & target.row  :K & target.row")
Em đang làm và bị sai ở phần bôi đậm trên chưa biết sửa như thế nào? xin cảo thủ chỉ dạy

Tks
Sai quá trời luôn, phải là:
Range("L" & Target.Row) = Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")")
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn cũng có thể dùng (Nhập công thức thay vì nhập giá trị):

Range("L" & Target.Row).Formula = "=sum(I" & Target.Row & ":K" & Target.Row & ")"
 
Upvote 0
PHP:
Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")"[/B]

Em hiểu như này lên làm sai
Sau hàm Evaluate phải là
ví dụ em vào trong cửa sổ Emediate gõ như sau
PHP:
?Evaluate("=sum(A1:A5)")
Kết quả = 5

Đoạn code trên em bóc ra như sau
PHP:
=sum(I" & Target.Row & ":K" & Target.Row & ")"
Như vậy Hàm Evaluate vấn thiếu một cái nháy " trước khi đóng hàm...

Trong ví dụ của Anh NDU đưa em thấy lạ nhỉ? thiếu một nháy đóng ở cuối mà công thức vẫn đúng

hic
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn cũng có thể dùng (Nhập công thức thay vì nhập giá trị):

Range("L" & Target.Row).Formula = "=sum(I" & Target.Row & ":K" & Target.Row & ")"

Dear Anh
Em không muốn dùng công thức tại sheet vì dữ liệu quá nhiều vài ngàn dòng, nếu để công thức sheet rất nặng --> nên em thêm Evaluate

Cám ơn ANh
 
Upvote 0
Trong ví dụ của Anh NDU đưa em thấy lạ nhỉ? thiếu một nháy đóng ở cuối mà công thức vẫn đúng
Không thiếu đâu. Dấu ngoặc cuối cùng là đóng hàm Evaluate của VBA, trước dấu đó là dấu nháy cuối cùng.
 
Upvote 0
To: Thầy NDU
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")")

Công thức của thấy như trên, em bị nhầm là cái đoạn này --> 4 ký tự cuối cùng của đoạn code trên ")")
+ em cứ nghĩ là ")" là dấu đóng cho hàm Sum
PHP:
=sum(I" & Target.Row & ":K" & Target.Row & ")"
+ tiếp theo là dấu )

Trong khi đó em có học hàm Evaluate là
ví dụ
PHP:
Evaluate("=sum()")

như vậy nếu suy diễn như công thức trên thì em cảm thấy công thức của Thấy bị thiếu một dấu nháy ở cuôi kiểu như sau
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")"")

Công thức của Thầy đúng 100% nhưng em chưa hiểu chỗ dấu nháy đó


Xin chỉ thêm
 
Lần chỉnh sửa cuối:
Upvote 0
To: Thầy NDU
PHP:
Range("L" & Target.Row) = Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")")
Công thức của thấy như trên, em bị nhầm là cái đoạn này --> 4 ký tự cuối cùng của đoạn code trên ")")
+ em cứ nghĩ là ")" là dấu đóng cho hàm Sum
Thì đúng rồi
Còn cái này:
PHP:
=sum(I" & Target.Row & ":K" & Target.Row & ")"
Thì thiêu dấu nháy đôi ở trước dấu =
Lý ra phải:
PHP:
"=sum(I" & Target.Row & ":K" & Target.Row & ")"
Vậy là xong phần công thức!
Giờ bạn lồng Evaluate vào là xong!
Nói rộng ra thêm, giả sử ta đặt biến CT là chuổi trên, tức
PHP:
CT ="=sum(I" & Target.Row & ":K" & Target.Row & ")"
Vậy
Evaluate(CT) cũng chính là:
PHP:
Evaluate("=sum(I" & Target.Row & ":K" & Target.Row & ")")
Đồng ý chứ!
 
Upvote 0
To Thầy NDU

Thầy giảng nhìn mới ra.
Mấy anh nháy nháy này nhìn không khéo, thiếu, công thức báo lỗi ngay..

Sau khi thầy giảng em để ý dấy nháy là một số chẵn , bao 2 đầu text, như trường hợp trên là 6 --> lần sau làm cứ thế mà diễn

he he

Cám ơn Thầy nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom