将每第三列加在一起,在一个VBA中添加两个变量单元格



我有一个电子表格,汇总了出纳员的不符之处,并将其分为现金、银行卡和支票交易。我曾试图运行创建一个VBA,将合计现金总额(等)差异为今年迄今为止,我已经成为完全卡住。这可以用两个变量来做吗?

同样重要的是要注意,当我调和出纳员的收入以计算VBA的差异时,它在D &E并添加当天的新差异。

列A =出纳员姓名(此数字可随时间变化)

B栏=现金差额总额

C栏=总卡差

D栏=支票差额总额

[这些是我想要显示运行总数的列]

E栏= 05/07/2014现金差异

F栏= 05/07/2014卡片差异

G列= 05/07/2014支票差异

H栏= 04/07/2014现金差异

I have try:

For i = 2 To WSlr ‘last row
WS.Cells(i,2).Value = WorksheetFunction.Sum(Range("E" & i), Range("H" & i), Range("K" & i), Range("N" & i), Range("Q" & i), Range("T" & i)) 
Next i

…但由于sum函数只允许我输入30个数字(游骑兵),这只能持续10天。更不用说这是非常耗时的进入

•我还尝试在单元格中粘贴公式:

ActiveCell.FormulaR1C1 =  "=SUM(RC5,RC8,RC11,RC14,RC17,RC20,RC23,RC26,RC29,RC32,RC35,RC38,RC41,RC44,RC47,RC50,RC53,RC56,RC59,RC62,RC65,RC68,RC71,RC74,RC77,RC80,RC83,RC86,RC89,RC92,RC95,RC98,RC101,RC104,RC107)"

但是当我插入下一个日期的收入这不再工作(因为它跳过新列输入)。

谁能提出更有效的方法来做这件事?

提前感谢。

如果要对每第三列或每第三行求和,则应该使用循环。使用哪种类型的循环取决于具体的问题。

在第一个代码中,您想要对每第三列求和,看起来像这样:

Dim sum12 As Double 'type depends on data you have in your cells
Dim y As Integer, i As Integer
For i = 2 To WSlr ' last row
sum12 = 0
    For y = 5 To 100 Step 3
        sum12 = sum12 + Cells(y, i)
    Next y
WS.Cells(i, 2).Value = sum12
Next i

你需要调整y,因为我不知道你需要汇总多少列。

此代码将在一行中添加每第三列单元格。在添加一行中所有给定的单元格后,它将移动到下一行,直到到达WSlr(您的最后一行)。

你可以阅读更多关于循环的内容,例如:http://www.ozgrid.com/VBA/loops.htm

相关内容

最新更新