答案将两个搜索值之间的列相加(修改后的问题和数据)不知道从哪里开始

问题描述 投票:0回答:1

对“A”列中两个搜索值之间的“B”列进行求和,然后在单独的代码段中循环数百行,我将对求和列的组进行求和

    ' find strings and sum

    Sub ()  

    ' strings
    Dim string1 As String ' first search value
    Dim string2 As String ' second search value
    Dim string3 As String ' third search value
    Dim string4 As String ' fourth search value

    ' string values
    string1 = "abcde*"
    string2 = "tommy"

    ' string ranges
    Set string1 = Range("A")
    Set string2 = Range("A")

    ' find strings
        If string1.Find () 'working on this
        If  Then

    'working on this

    End Sub

excel vba find sumifs
1个回答
0
投票

这应该可以帮助您开始:

Sub Tester()
    Dim c As Range, summing As Boolean, i As Long, sum As Long 'or double
    Dim ws As Worksheet, v, v2
    
    Set ws = ActiveSheet 'or some specific sheet
    'loop over ColA
    For Each c In ws.Range("A1:A" & ws.Cells(Rows.Count, 1).End(xlUp).Row).Cells
        v = LCase(c.Value) 'case-insensitive
        If v Like "abcde*" Then 'start summing?
            summing = True
            sum = 0
        ElseIf v = "tommy" Then 'finish summing?
            If summing Then
                c.Offset(-1, 1).Value = sum
                summing = False
            End If
        ElseIf Len(v) = 0 Then 'increment sum if summing
            If summing Then
                v2 = c.Offset(0, 1).Value
                If IsNumeric(v2) Then sum = sum + v2
            End If
        End If
    Next c
End Sub

这假设是“幸福之路”,但您可能想要添加对(例如)“abcde*”的检查,后跟另一个“abcde*”,中间没有“Tommy”。在这些情况下会发生什么取决于你。

© www.soinside.com 2019 - 2024. All rights reserved.