Dùng hàm tự tạo loại trừ giá trị format font gạch ngangEm có bài toán như hình
trong đó có số 300 bị gạch ngang, em không muốn cộng số này vào
Kết quả mong muốn là 1.000
Nhờ mong anh/chị và các bạn giúp đở (cách nào cũng được) Em cảm ơn
View attachment 311966
Function SumUnStrikethrough(ByVal RngSum As Range) As Double
Dim rng As Range
For Each rng In RngSum
If IsNumeric(rng) Then
If rng.Font.Strikethrough = False Then SumUnStrikethrough = SumUnStrikethrough + rng.Value
End If
Next
End Function
A1 =SumUnStrikethrough(A2:A4)



rng.DisplayFormat.Font.Strikethrough = FalsetrangThaiGach = oCell.Parent.Evaluate("KiemTraGachNgangHienThi(" & _
oCell.Address( _
RowAbsolute:=False, _
ColumnAbsolute:=False, _
ReferenceStyle:=xlA1) & ")")
Public Function KiemTraGachNgangHienThi(ByVal oCell As Range) As Variant
KiemTraGachNgangHienThi = oCell.DisplayFormat.Font.Strikethrough
End Function
Tôi có làm thử thì ban đầu mới gõ xong công thức thì đúng. Thử với 1 vùng rộng hơn trong đó có 1 số ô trống thì vẫn đúng.Xin vui lòng giải thích kết quả này ?!


Vậy thêm sự kiện tại sheet chứa công thức ...Nhấn F9 cũng không
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CalculateFull
End Sub
Tôi thì kỵ cái sự kiện này, nếu có ràng buộc giới hạn Range còn đỡ, còn không thì treo máy là có khả năng cao.Vậy thêm sự kiện tại sheet chứa công thức ... (SelectionChange)