其实这问对先进们看是简单, 但是后进想要了解吸收学习字典法和数组法的程序, 觉得它应该有着理解上的程序困扰着我.
每个单一工作表都可能有的增加或减少(这里列举1月), 因此这次问题是针对单一工作表的求和. 横向(列)求和的要求: 1.I列是销货的合计, 因为行数是会随时增加的, 因为当月的异动可能是增加, 可能会减少. 直向(行)求和的要求: 2.要计算从E列~H列, I列是合计的总求和. 3. 因为行数是会随时增加的, 所以会想把每一列的求和都在最后数据行的下一空白行. 加上"TOTAL"的文字符在A列最后数据列的下一行,
就跟这张表的求和方式一样, 把每一个列名下的求和, 一起计算.
- Sub 汇总()
- Dim ARR(), IROW As Single, BRR(), I
- IROW = Range("A3").End(xlDown).Row
- ARR = Range("G3:H" & IROW)
- ReDim BRR(1 To IROW - 2)
- For I = 1 To IROW - 2
- BRR(I) = ARR(I, 1) + ARR(I, 2)
- Next
- Range("I3").Resize(IROW - 2) = Application.Transpose(BRR)
- Range("A" & IROW + 1).Value = "TOTAL"
- Cells(IROW + 1, 5) = Application.Sum(Range("E2:E" & IROW))
- Cells(IROW + 1, 7) = Application.Sum(Range("G2:G" & IROW))
- Cells(IROW + 1, 8) = Application.Sum(Range("H2:H" & IROW))
- Cells(IROW + 1, 9) = Application.Sum(Range("I2:I" & IROW))
- Range("A" & IROW + 1).Resize(1, 9).Interior.Color = vbYellow
- End Sub
复制代码
我也是初学者。刚学几天的。看看能不能凑合用。如果不能满足你的需求的话。就等其他人的答案 哈。
|