EXCEL VBA求和差,单元格内容有字母或文字

所有数从第4行开始2.所有数据同行相加或相减
2025-06-29 09:30:37
推荐回答(2个)
回答1:

Sub s()
    n = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
    For i = 4 To n
        a = Cells(i, 3).Text
        If a = "" Then
            s1 = 0
        Else
            t = ""
            For i = 1 To Len(a)
                b = Mid(a, i, 1)
                If IsNumeric(b) Then t = t & b
            Next
            If t = "" Then
                s1 = 0
            Else
                s1 = Val(t)
            End If
        End If
        a = Cells(i, 4).Text
        If a = "" Then
            s2 = 0
        Else
            t = ""
            For i = 1 To Len(a)
                b = Mid(a, i, 1)
                If IsNumeric(b) Then t = t & b
            Next
            If t = "" Then
                s2 = 0
            Else
                s2 = Val(t)
            End If
        End If
        a = Cells(i, 7).Text
        If a = "" Then
            s5 = 0
        Else
            t = ""
            For i = 1 To Len(a)
                b = Mid(a, i, 1)
                If IsNumeric(b) Then t = t & b
            Next
            If t = "" Then
                s5 = 0
            Else
                s5 = Val(t)
            End If
        End If
        a = Cells(i, 8).Text
        If a = "" Then
            Cells(i, 9) = s1 + s5 - s2
        Else
            t = ""
            For i = 1 To Len(a)
                b = Mid(a, i, 1)
                If IsNumeric(b) Then t = t & b
            Next
            If t = "" Then
                s6 = 0
            Else
                s6 = Val(t)
            End If
            ss = (s6 + s2) - (s1 - s5)
            If ss > 0 Then
                Cells(i, 9) = ss
            Else
                Cells(i, 6) = ss
            End If
        End If
    Next
End Sub

回答2:

你给个截图看看再帮助吧