Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2326|回复: 9

[已解决][求助]用循环、数组求项目合计数

[复制链接]
发表于 2009-11-7 22:25 | 显示全部楼层 |阅读模式

[求助]用循环、数组求项目合计数

[求助]用循环、数组求项目合计数

用代码如上图,谢谢!有最佳。
最佳答案
2009-11-8 10:11
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$10" Then
        Dim i As Long
        Dim j As Long
        Dim rng As Range
        Dim 数量 As Double
        Dim 金额 As Double
        For Each rng In Range("A2:E7")
            If rng = Range("B10") Then
                If Cells(1, rng.Offset(, 1).Column) = "数量" Then
                    数量 = 数量 + rng.Offset(, 1)
                ElseIf Cells(1, rng.Offset(, 1).Column) = "金额" Then
                    金额 = 金额 + rng.Offset(, 1)
                End If
                If Cells(1, rng.Offset(, 2).Column) = "数量" Then
                    数量 = 数量 + rng.Offset(, 2)
                ElseIf Cells(1, rng.Offset(, 2).Column) = "金额" Then
                    金额 = 金额 + rng.Offset(, 2)
                End If
            End If
        Next rng
        Range("C10") = 数量
        Range("D10") = 金额
    End If
End Sub
发表于 2009-11-7 23:21 | 显示全部楼层

q56i4les.rar (8.53 KB, 下载次数: 1)

回复

使用道具 举报

 楼主| 发表于 2009-11-7 23:33 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2009-11-7 23:35 | 显示全部楼层

NIIsC02y.rar (7.82 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2009-11-7 23:36 | 显示全部楼层

数量和金额出现的列是不规则的。

回复

使用道具 举报

发表于 2009-11-8 05:24 | 显示全部楼层

学习[em02][em02]
回复

使用道具 举报

发表于 2009-11-8 09:16 | 显示全部楼层

  dGj9eKhP.rar (9.02 KB, 下载次数: 1)

MVrspe8T.rar

8.39 KB, 下载次数: 1

[求助]用循环、数组求项目合计数

r8jvawgE.rar

8.75 KB, 下载次数: 1

4CIDgHcH.rar

8.99 KB, 下载次数: 1

回复

使用道具 举报

 楼主| 发表于 2009-11-8 09:35 | 显示全部楼层

A的数量合计数为25.金额合计数应为24
[此贴子已经被作者于2009-11-8 9:36:36编辑过]
回复

使用道具 举报

发表于 2009-11-8 10:10 | 显示全部楼层

kmh6Wsnv.rar (8.9 KB, 下载次数: 6)
回复

使用道具 举报

发表于 2009-11-8 10:11 | 显示全部楼层    本楼为最佳答案   

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$10" Then
        Dim i As Long
        Dim j As Long
        Dim rng As Range
        Dim 数量 As Double
        Dim 金额 As Double
        For Each rng In Range("A2:E7")
            If rng = Range("B10") Then
                If Cells(1, rng.Offset(, 1).Column) = "数量" Then
                    数量 = 数量 + rng.Offset(, 1)
                ElseIf Cells(1, rng.Offset(, 1).Column) = "金额" Then
                    金额 = 金额 + rng.Offset(, 1)
                End If
                If Cells(1, rng.Offset(, 2).Column) = "数量" Then
                    数量 = 数量 + rng.Offset(, 2)
                ElseIf Cells(1, rng.Offset(, 2).Column) = "金额" Then
                    金额 = 金额 + rng.Offset(, 2)
                End If
            End If
        Next rng
        Range("C10") = 数量
        Range("D10") = 金额
    End If
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 14:25 , Processed in 0.328757 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表