Lập hàm tính tổng

Liên hệ QC

ChemSilicat

Thành viên mới
Tham gia
4/4/08
Bài viết
1
Được thích
0
Nghề nghiệp
KCS
Tôi muốn lập một hàm tính tổng để thay thế hàm sum thì phải làm sao?
Giả sử: Tôi muốn lập một hàm Tong(dãy hoặc các ô được chọn) thay thế hàm Sum(dãy hoặc các ô được chọn) thì phải làm sao?
 
răng lại không dùng luôn thằng Sum cho tiện mà lại đi lập hàm khác làm chi cho mệt>
 
Upvote 0
Tôi muốn lập một hàm tính tổng để thay thế hàm sum thì phải làm sao?
Giả sử: Tôi muốn lập một hàm Tong(dãy hoặc các ô được chọn) thay thế hàm Sum(dãy hoặc các ô được chọn) thì phải làm sao?

Bạn chép đoạn code này vào module trong VBA rồi thay thế hàm sum() bằng hàm tôi tự tạo là SumTest() thử xem.

PHP:
Function SUMTEST(Target As Range)
Dim SumTotal As Double
SumTotal = 0
For i = 1 To Target.Rows.Count
    For j = 1 To Target.Columns.Count
    SumTotal = SumTotal + Target(i, j)
    Next j
Next i
SUMTEST = SumTotal
End Function
 
Upvote 0
Ý tưởng của bạn liệu có thực tế và cần thiết không?

Cái này cần thiết khi muốn tính và cho ra số tổng của một mảng (array) khi xử lý trong một thủ tục hoặc hàm tính toán và show ra kết quả trên form. Vì trong VB hàm SUM() không thực thi được. Ví dụ:

PHP:
Function test()
Dim a,b,c as Double
a=1000
b=2000
c=3000
test= sum(a,b,c)  '==> Chương trình sẽ báo lỗi là "Sub or function not defined"
End Function
 
Upvote 0
Bạn chép đoạn code này vào module trong VBA rồi thay thế hàm sum() bằng hàm tôi tự tạo là SumTest() thử xem.

PHP:
Function SUMTEST(Target As Range)
Dim SumTotal As Double
SumTotal = 0
For i = 1 To Target.Rows.Count
    For j = 1 To Target.Columns.Count
    SumTotal = SumTotal + Target(i, j)
    Next j
Next i
SUMTEST = SumTotal
End Function

Đối với hàm Sum là tính tổng của Number1, Number2, ..............
bạn không thể để là Target as Range được (cái này chỉ đúng cho 1 range)
bạn thử SumTest(A1:A2, B1:B2) xem thử.
 
Upvote 0
Bạn thử dùng hàm sum như thế này thử coi có được không:
Function test()
Dim a, b, c As Double
a = 1000
b = 2000
c = 3000
test = Application.WorksheetFunction.Sum(a, b, c)
End Function
 
Upvote 0
Web KT

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

Back
Top Bottom