- Tham gia
- 21/12/07
- Bài viết
- 1,902
- Được thích
- 5,303
- Nghề nghiệp
- Kinh doanh các mặt hàng văn phòng phẩm
Mình gửi đến các bạn vài hàm Sum tự tạo nhằm đa dạng hóa tính năng cộng của hàm Sum
Đầu tiên là hàm SumType :
Chức năng :
- Cộng các ô có chứa hay không chứa công thức.
- Cộng các ô có hay không có màu nền
- Cộng các ô có hay không có màu Font chữ
- Cộng các ô có hay không có Font chữ in đậm
- Bỏ qua các ô bị lỗi khi cộng
PS : Xem hàm Sumpower ở bài #5 với nhiều tính năng hơn
Đầu tiên là hàm SumType :
Chức năng :
- Cộng các ô có chứa hay không chứa công thức.
- Cộng các ô có hay không có màu nền
- Cộng các ô có hay không có màu Font chữ
- Cộng các ô có hay không có Font chữ in đậm
- Bỏ qua các ô bị lỗi khi cộng
PS : Xem hàm Sumpower ở bài #5 với nhiều tính năng hơn
PHP:
Public Function SumType(TypeFunc As Byte, Opt As Boolean, Rng1 As Range, _
Optional Rng2 As Range, Optional Rng3 As Range, Optional Rng4 As Range, _
Optional Rng5 As Range) As Double
Dim Cell As Range, SumT As Double
For Each Cell In Rng1
If Not IsError(Cell) Then
If IsNumeric(Cell) Then
Select Case TypeFunc
Case 1 'cong cac cell dang value hay formula.'
If Cell.HasFormula = Opt Then SumT = SumT + Cell
Case 2 'cong cac cell co mau hay khong co mau nen.'
If Cell.Interior.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 3 'cong cac cell co mau hay khong co mau font chu.'
If Cell.Font.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 4 'cong cac cell co hay khong co font in dam.'
If Cell.Font.Bold = Opt Then SumT = SumT + Cell
End Select
End If
End If
Next
'---------------------------------------------------------------------'
If Not Rng2 Is Nothing Then
For Each Cell In Rng2
If Not IsError(Cell) Then
If IsNumeric(Cell) Then
Select Case TypeFunc
Case 1 'cong cac cell dang value hay formula.'
If Cell.HasFormula = Opt Then SumT = SumT + Cell
Case 2 'cong cac cell co mau hay khong co mau nen.'
If Cell.Interior.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 3 'cong cac cell co mau hay khong co mau font chu.'
If Cell.Font.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 4 'cong cac cell co hay khong co font in dam.'
If Cell.Font.Bold = Opt Then SumT = SumT + Cell
End Select
End If
End If
Next
End If
'---------------------------------------------------------------------'
If Not Rng3 Is Nothing Then
For Each Cell In Rng3
If Not IsError(Cell) Then
If IsNumeric(Cell) Then
Select Case TypeFunc
Case 1 'cong cac cell dang value hay formula.'
If Cell.HasFormula = Opt Then SumT = SumT + Cell
Case 2 'cong cac cell co mau hay khong co mau nen.'
If Cell.Interior.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 3 'cong cac cell co mau hay khong co mau font chu.'
If Cell.Font.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 4 'cong cac cell co hay khong co font in dam.'
If Cell.Font.Bold = Opt Then SumT = SumT + Cell
End Select
End If
End If
Next
End If
'---------------------------------------------------------------------.'
If Not Rng4 Is Nothing Then
For Each Cell In Rng4
If Not IsError(Cell) Then
If IsNumeric(Cell) Then
Select Case TypeFunc
Case 1 'cong cac cell dang value hay formula.'
If Cell.HasFormula = Opt Then SumT = SumT + Cell
Case 2 'cong cac cell co mau hay khong co mau nen.'
If Cell.Interior.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 3 'cong cac cell co mau hay khong co mau font chu.'
If Cell.Font.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 4 'cong cac cell co hay khong co font in dam.'
If Cell.Font.Bold = Opt Then SumT = SumT + Cell
End Select
End If
End If
Next
End If
'---------------------------------------------------------------------.'
If Not Rng5 Is Nothing Then
For Each Cell In Rng5
If Not IsError(Cell) Then
If IsNumeric(Cell) Then
Select Case TypeFunc
Case 1 'cong cac cell dang value hay formula.'
If Cell.HasFormula = Opt Then SumT = SumT + Cell
Case 2 'cong cac cell co mau hay khong co mau nen.'
If Cell.Interior.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 3 'cong cac cell co mau hay khong co mau font chu.'
If Cell.Font.ColorIndex > 0 = Opt Then SumT = SumT + Cell
Case 4 'cong cac cell co hay khong co font in dam.'
If Cell.Font.Bold = Opt Then SumT = SumT + Cell
End Select
End If
End If
Next
End If
SumType = SumT
End Function
File đính kèm
Lần chỉnh sửa cuối: