Vba 使用宏计算每列、每行的总计
我需要一些VBA方面的帮助。我有这张纸:Vba 使用宏计算每列、每行的总计,vba,excel,subtotal,Vba,Excel,Subtotal,我需要一些VBA方面的帮助。我有这张纸: Game Room City Machines_week_1 Played_week_1 Won_week_1 Machines_week_2 Played_week_2 Won_week_2 A Julia San Francisco 3 1200 1100 2
Game Room City Machines_week_1 Played_week_1 Won_week_1 Machines_week_2 Played_week_2 Won_week_2
A Julia San Francisco 3 1200 1100 2 500 250
B Julia San Francisco 4 200 100 1 500 250
C Julia San Francisco 3 500 100 5 600 250
D Julia San Francisco 1 200 50 2 1000 750
B Carla San Francisco 1 1000 600 2 1500 500
C Carla San Francisco 3 800 400 3 500 250
E Carla San Francisco 6 1200 1100 4 600 300
A Jaime Rio de Janeiro 1 200 50 2 90 50
C Jaime Rio de Janeiro 3 900 600 3 500 250
(....)
我想在表格的最后计算每周每个城市和每场比赛的总数,忽略房间。比如:
Game Room City Machines_week_1 Played_week_1 Won_week_1 Machines_week_2 Played_week_2 Won_week_2
(...)
A Total San Francisco 3 1200 1100 2 500 250
B Total San Francisco 5 1200 700 3 3000 750
C Total San Francisco 6 1300 500 8 1100 500
D Total San Francisco 1 200 50 2 1000 750
E Total San Francisco 6 1200 1100 4 600 300
A Total Rio de Janeiro 1 200 50 2 90 50
C Total Rio de Janeiro 3 900 600 3 500 250
(....)
For p = 1 To LastRow
If Range("CA1").Offset(i, 0).Value <> 2 Then ( I have this much of columns with data and weeks)
a = Range("A1").Offset(p, 0).Value
c = Range("C1").Offset(p, 0).Value
For i = 1 To LastRow
If Range("A1").Offset(i, 0).Value = a And Range("C1").Offset(i, 0).Value = c Then
Machines1 = Range("D1").Offset(i, 0).Value + Machines1
Played1 = Range("E1").Offset(i, 0).Value + Played1
(....)
Machines2 = Range("G1").Offset(i, 0).Value + Machines2
Played2 = Range("H1").Offset(i, 0).Value + Played2
Range("CA1").Offset(i, 0).Value = 2 (this column is empty, Im using it for a test to see if I have calculated this combination of city and game already)
End If
Next i
lastn = Range("A65536").End(xlUp).Row
Range("A1").Offset(lastn, 0).Value = a
Range("B1").Offset(lastn, 0).Value = "Total"
Range("C1").Offset(lastn, 0).Value = c
Range("D1").Offset(lastn, 0).Value = Machines1
Range("E1").Offset(lastn, 0).Value = Played1
(...)
Range("G1").Offset(lastn, 0).Value = Machines2
Range("H1").Offset(lastn, 0).Value = Played2
(...)
Machines1=0
Played1=0
Machines2=0
Played2 = 0
(....)
End If
Next p
我正在尝试类似的东西:
Game Room City Machines_week_1 Played_week_1 Won_week_1 Machines_week_2 Played_week_2 Won_week_2
(...)
A Total San Francisco 3 1200 1100 2 500 250
B Total San Francisco 5 1200 700 3 3000 750
C Total San Francisco 6 1300 500 8 1100 500
D Total San Francisco 1 200 50 2 1000 750
E Total San Francisco 6 1200 1100 4 600 300
A Total Rio de Janeiro 1 200 50 2 90 50
C Total Rio de Janeiro 3 900 600 3 500 250
(....)
For p = 1 To LastRow
If Range("CA1").Offset(i, 0).Value <> 2 Then ( I have this much of columns with data and weeks)
a = Range("A1").Offset(p, 0).Value
c = Range("C1").Offset(p, 0).Value
For i = 1 To LastRow
If Range("A1").Offset(i, 0).Value = a And Range("C1").Offset(i, 0).Value = c Then
Machines1 = Range("D1").Offset(i, 0).Value + Machines1
Played1 = Range("E1").Offset(i, 0).Value + Played1
(....)
Machines2 = Range("G1").Offset(i, 0).Value + Machines2
Played2 = Range("H1").Offset(i, 0).Value + Played2
Range("CA1").Offset(i, 0).Value = 2 (this column is empty, Im using it for a test to see if I have calculated this combination of city and game already)
End If
Next i
lastn = Range("A65536").End(xlUp).Row
Range("A1").Offset(lastn, 0).Value = a
Range("B1").Offset(lastn, 0).Value = "Total"
Range("C1").Offset(lastn, 0).Value = c
Range("D1").Offset(lastn, 0).Value = Machines1
Range("E1").Offset(lastn, 0).Value = Played1
(...)
Range("G1").Offset(lastn, 0).Value = Machines2
Range("H1").Offset(lastn, 0).Value = Played2
(...)
Machines1=0
Played1=0
Machines2=0
Played2 = 0
(....)
End If
Next p
p=1至最后一行的
如果Range(“CA1”).Offset(i,0).Value为2,那么(我有很多列包含数据和周数)
a=范围(“A1”)。偏移量(p,0)。值
c=范围(“C1”)。偏移量(p,0)。值
对于i=1到最后一行
如果范围(“A1”)。偏移量(i,0)。值=a,范围(“C1”)。偏移量(i,0)。值=c,则
机器1=范围(“D1”)。偏移量(i,0)。值+机器1
播放1=范围(“E1”)。偏移量(i,0)。值+播放1
(....)
机器2=范围(“G1”)。偏移量(i,0)。值+机器2
Played2=范围(“H1”)。偏移量(i,0)。值+Played2
Range(“CA1”).Offset(i,0).Value=2(此列为空,我使用它进行测试,以查看我是否已经计算了城市和游戏的组合)
如果结束
接下来我
lastn=范围(“A65536”)。结束(xlUp)。行
范围(“A1”)。偏移量(lastn,0)。值=a
范围(“B1”).偏移量(lastn,0).Value=“总计”
范围(“C1”)。偏移量(lastn,0)。值=c
范围(“D1”)。偏移量(lastn,0)。值=机器1
范围(“E1”)。偏移量(lastn,0)。值=播放1
(...)
范围(“G1”)。偏移量(lastn,0)。值=机器2
范围(“H1”)。偏移量(最后N,0)。值=播放的2
(...)
机器1=0
播放1=0
机器2=0
播放2=0
(....)
如果结束
下一个p
但它不起作用。它仍然在为每个房间重复游戏(总数是正确的,但它们出现的次数与城市中的房间数量相同)。如果有人能帮助我,我将不胜感激。
谢谢大家! 作为替代方法,您可以在Excel中使用: 使用的数据: 数据透视表输出:
您是否想过使用数据透视表或小计功能?