Excel精英培训网

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

[已解决]谢谢枯禅老师,另类的统计001

[复制链接]
发表于 2010-3-8 20:53 | 显示全部楼层 |阅读模式

 

OJZHi6B8.rar (24.17 KB, 下载次数: 20)

发表于 2010-3-8 21:30 | 显示全部楼层

OBN289nE.rar (28.38 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2010-3-8 22:17 | 显示全部楼层

回复:(枯禅)[upload=rar]viewFile.asp?ID=108313[/...

QUOTE:
以下是引用枯禅在2010-3-8 21:30:00的发言:

d(CInt(arr(j + 1, i))) = d(CInt(arr(j + 1, i))) + 1

电脑提示这句(显示为黄色),变量未定义,请问怎么修改?

运行时错误91

对象变量或with块变量未设置

另 CInt是什么意思呢?

[此贴子已经被作者于2010-3-8 22:23:16编辑过]
回复

使用道具 举报

发表于 2010-3-8 22:22 | 显示全部楼层    本楼为最佳答案   

改成这样试试:

Sub test()
Dim arr, i%, j%, k%, arrt(0 To 9, 1 To 2)
Dim d As Object
With Sheets("数据源")
    arr = .Range("c3:e" & .[c65536].End(3).Row)
End With
For i = 1 To 3
Set d = CreateObject("Scripting.Dictionary")
    For j = 1 To UBound(arr) - 1
        If CInt(arr(j, i)) = Cells(3, i * 2) Then
            d(CInt(arr(j + 1, i))) = d(CInt(arr(j + 1, i))) + 1
        End If
    Next
    For k = 0 To 9
        arrt(k, 1) = k
        arrt(k, 2) = d(k)
    Next
    Cells(6, i * 2).Resize(10, 2) = arrt
    Set d = Nothing
Next
End Sub

回复

使用道具 举报

发表于 2010-3-8 22:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2010-3-12 00:30 | 显示全部楼层

学习
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 05:40 , Processed in 0.415279 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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