我有一个excel电子表格,如下所示(我将所有机密信息设为白色字体,因此请忽略空格)
总列位于第d列或第4列。我需要做的是对d列中的值进行小计,直到它到达“...- TOTAL”的行。我遇到的问题是在“...- TOTAL”行之后还有更多的行需要小计化为“...- TOTAL”,其中“...”是客户端的名称。我已经尝试了下面的代码,但我认为它停留在无限循环中,因为不是脚本运行5分钟而是结束,它根本没有结束。如果您需要更多信息,请告诉我。谢谢!
Do Until InStr(objExcel.Cells(c,2).Value, "TOTAL")
total = total + objExcel.Cells(e,4).Value
if InStr(objExcel.Cells(c,2).Value, "TOTAL") then
objExcel.Cells(c,4).Value = total
total = 0
end if
Loop
答案 0 :(得分:2)
正如我在评论中提到的,你应该在这里使用For Each
循环,这样你就可以检查每一行第2列(B)中“总计”的值。类似的东西:
'Loop through each cell in column B
For Each rngCell in Range("B:B").Cells
'Check to see if it contains "TOTAL" as part of it's value
If Instr(rngCell.value, "TOTAL") Then
'Set the value of the cell 2 columns over (Column D) and exit loop
rngCell.Offset(,2).value = total
Exit For
End If
'Collect and increment the total
total = total + rngCell.Offset(,2).value
Next