以下是引用zjsxzgx在2010-8-7 10:29:00的发言: Private Sub CommandButton2_Click() With Sheets("B") 'B = Range("B65536").End(xlUp).Row B = .Range("A65536").End(xlUp).Row 'For x = 4 To 8 For x = 2 To 8 '从第2列向右历遍到第8列 'Cells(B + 1, x) = Application.Sum(Range(Cells(2, x), Cells(B, x))) .Cells(B + 1, x) = Application.Sum(.Range(.Cells(3, x), .Cells(B, x))) Next x For x = 3 To B '从第3行向下历遍到最末行 If .Range("F" & x) <> 0 Then '这个错了,你原来在计算 操作面 的东西了 K = K + 1 End If Next x 'Stop .Range("a" & B - 1) = "合计" '在A列最末行添加汉字“合计” .Range("C" & B + 2) = "有金额" .Range("D" & B + 2) = B - K - 2 'F列为零的个数 .Range("C" & B + 3) = "无金额" .Range("D" & B + 3) = K 'F列不为零的个数 End With Sheets("B").Activate End Sub
老师: 按上面这个VB运行的话,表的第18行的合计仍有问题,除了[F18]的统计是正确的外,第18行的其它单元格内的统计都没有考虑F列是否为零。 |