tính tổng và số trung bình

Liên hệ QC

Onchuot

Thành viên mới
Tham gia
2/11/20
Bài viết
12
Được thích
0
Các anh chị giúp em với ạ! Em không biết cách viết hàm để tính tổng và trung bình trong VBA . em xin chân thành cảm ơn !
 

File đính kèm

  • Book1.xlsx
    10.9 KB · Đọc: 10
Lần chỉnh sửa cuối:
Vâng ạ. E không hiểu nên đặt thế nào.
 
Giả sử
Dim total as range
Thì set range sẽ đặt như thế nào ạ
Thử cái này xem sao
PHP:
Sub TongVaTrungBinh()
Dim I As Long, sEmpty As Long, J As Long, sArr(), dArr()
sArr = Range("B3:F14").Value
ReDim dArr(1 To 2, 1 To UBound(sArr, 2))
For J = 1 To UBound(sArr, 2) Step 2
sEmpty = 0
    For I = 1 To UBound(sArr, 1)
        dArr(1, J) = sArr(I, J) + dArr(1, J)
        If sArr(I, J) <> "" Then sEmpty = sEmpty + 1
    Next
        dArr(2, J) = dArr(1, J) / sEmpty
Next
Range("B15").Resize(2, UBound(sArr, 2)) = dArr
End Sub
 
Thử cái này xem sao
PHP:
Sub TongVaTrungBinh()
Dim I As Long, sEmpty As Long, J As Long, sArr(), dArr()
sArr = Range("B3:F14").Value
ReDim dArr(1 To 2, 1 To UBound(sArr, 2))
For J = 1 To UBound(sArr, 2) Step 2
sEmpty = 0
    For I = 1 To UBound(sArr, 1)
        dArr(1, J) = sArr(I, J) + dArr(1, J)
        If sArr(I, J) <> "" Then sEmpty = sEmpty + 1
    Next
        dArr(2, J) = dArr(1, J) / sEmpty
Next
Range("B15").Resize(2, UBound(sArr, 2)) = dArr
End Sub
em cám ơn nhiều ạ!
 
Code ở bài #17 đâu có kiên quan gì đến Dim total As Range Set như thế nào.

Nếu muốn đặt điểm tố-tồn ở B15
Dim toTTon As Range, eVoRit As Range
Set toTon = Range("B15")
Set eVoRit = Range("B16")

Nếu muốn code trông càng bí hiểm:
Dim tongKet As Variant, daTaRen As Range, i As Long
tongKet = Array( Range("B15"), Range("D15"), Range("F15") )
For i = LBound(tongKet) To UBound(tongKet)
Set daTaRen = Range(Cells(3, tongKet(i).Column), Cells(tongKet(i).Row-1, tongKet(i).Column))
tongKet(i).Value = Application.Sum(daTaRen)
tongKet(i).Offset(1, 0).Value = Application.Average(daTaRen)
Next i
 
Code ở bài #17 đâu có kiên quan gì đến Dim total As Range Set như thế nào.

Nếu muốn đặt điểm tố-tồn ở B15
Dim toTTon As Range, eVoRit As Range
Set toTon = Range("B15")
Set eVoRit = Range("B16")

Nếu muốn code trông càng bí hiểm:
Dim tongKet As Variant, daTaRen As Range, i As Long
tongKet = Array( Range("B15"), Range("D15"), Range("F15") )
For i = LBound(tongKet) To UBound(tongKet)
Set daTaRen = Range(Cells(3, tongKet(i).Column), Cells(tongKet(i).Row-1, tongKet(i).Column))
tongKet(i).Value = Application.Sum(daTaRen)
tongKet(i).Offset(1, 0).Value = Application.Average(daTaRen)
Next i

Em cám ơn nhiều ạ!
 
Web KT
Back
Top Bottom