增加合计栏

    技术2022-05-11  171

    Sub main()'根据第1列(品种)加入合计第3列(数量)

    Dim intStartRow As Integer  '开始行Dim intEndRow As Integer '结束行Dim calculateCol As Integer '需要累计的列Dim nameCol As Integer  '第1列,用于判断的列

    Dim i As Integer '外层循环Dim j As Integer '内层循环

    Dim flagRow As Integer '标志行Dim flagSum As Integer '因为数量是整数

    Dim intAddRow As Integer ' 一共增加的行数intStartRow = 4intEndRow = 20

    intAddRow = 0 '统计增加了多少行,以便在合并单元格时知道结束行要加几行i = intEndRowDo While i >= intStartRow  '当大于开始行的时候运行循环   'flagSum = Val(Cells(i, 3).Value)   flagRow = i   For j = i - 1 To intStartRow Step -1       'MsgBox Cells(i, 1). & Cells(j, 1)       If Cells(i, 1).Value = Cells(j, 1).Value Then          flagSum = flagSum + Val(Cells(i, 3).Value) '第三列是数量列       Else          If j + 1 <> i Then  '不是同一行             MsgBox flagRow & "行到" & j + 1 & "行" & "合计" & flagSum             Rows(flagRow + 1).Insert             intAddRow = intAddRow + 1          End If          i = j '重新从上一行开始          Exit For              End If         Next      If j < intStartRow Then  '说明内层循环已经到顶了,该结束循环了   '加上这行的目的是:如果i=5,j到了小于4的时个,还有两行,它们又不是同一行,当然要处理了          If j + 1 <> i Then  '不是同一行             MsgBox flagRow & "行到" & j + 1 & "行" & "合计" & flagSum             intAddRow = intAddRow + 1          End If             Exit Do   End If   Loop

    If intAddRow <> 0 Then MsgBox "增加了" & intAddRow & "行"

    End Sub


    最新回复(0)