我想总结B列中的值,直到列A中的值匹配为止。如果是,我想跳到列A中的下一个值,偏移量(0,1)并再次求和,直到达到该值,依此类推 每当达到A列中的值时,我想将所有单元格用于从A列中获取值并将它们放在C列中(突出显示具有某种颜色的内部也会起作用) 在对值进行求和时,它将始终与A中的值完全匹配,因此=而不是>
我从下表的一部分附上了一个屏幕。
例如:我想取A列中的第一个值443.33,向右偏移一个并开始对该列中的值求和,直到我确切地得到443.33。当我拥有它时,我想获取需要的单元格来创建所需的总和(在这种情况下只有B2)并将它们复制到C列中的相邻单元格(在这种情况下=> C2)。 然后我想找到A列中的下一个值(66,144.90)并重复。
我尝试使用Excel-Formulas和Excel-VBA执行此操作。遗憾的是没有成功。
感谢一些帮助。 谢谢
答案 0 :(得分:0)
这应该可以满足您的需求。它会尝试匹配这些值,如果不可能的话,它会继续使用下一个值。所需的单元格用颜色突出显示。
Sub MatchValues()
Dim IndexA, IndexB, i, j, k As Integer
Dim ValueA, ValueB As Variant
Dim lrA, lrB As Long
Dim sht As Worksheet
Set sht = Worksheets("Tabelle1")
lrA = sht.Cells(Rows.Count, 1).End(xlUp).Row
lrB = sht.Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lrA
If sht.Cells(i, 1).Value <> "" Then
ValueA = CDec(sht.Cells(i, 1).Value)
ValueB = 0
For j = i To lrB
If IsNumeric(sht.Cells(j, 2).Value) Then
ValueB = ValueB + CDec(sht.Cells(j, 2).Value)
End If
If ValueA = ValueB Then
sht.Range(Cells(i, 2), Cells(j, 2)).Interior.ColorIndex = 33 + k
sht.Cells(i, 1).Interior.ColorIndex = 33 + k
k = k + 1
Exit For
ElseIf ValueB > ValueA Then
MsgBox ("Error for Value in Row: " & i)
Exit For
End If
Next j
End If
Next i
End Sub
答案 1 :(得分:0)