Excel精英培训网

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

[已解决]字典的运用范围?

[复制链接]
发表于 2013-1-28 15:28 | 显示全部楼层 |阅读模式
本帖最后由 2004098 于 2013-1-29 13:21 编辑

请大神帮忙看下,我弄的这个计算公式,vba方面的,为什么奖金超过75000以上,就数据类型不符了?想知道字典的数据范围?请老师帮忙解决下。
最佳答案
2013-1-28 16:26
数组元素超过65536,就会报类型错误。
以前用transpose也碰到过这种情况。
发表于 2013-1-28 15:56 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-1-28 15:58 | 显示全部楼层
hwc2ycy 发表于 2013-1-28 15:56
一个函数就能解决的事情。

怎么解决啊老师 请帮忙说下
回复

使用道具 举报

发表于 2013-1-28 16:01 | 显示全部楼层
寻高手做出最短的个税公式
http://www.excelpx.com/thread-198552-1-1.html
回复

使用道具 举报

 楼主| 发表于 2013-1-28 16:09 | 显示全部楼层
hwc2ycy 发表于 2013-1-28 16:01
寻高手做出最短的个税公式
http://www.excelpx.com/thread-198552-1-1.html

老师我不是问个税公式怎么写。。。和个税公式没多大关系
回复

使用道具 举报

发表于 2013-1-28 16:23 | 显示全部楼层
你这里报错,不是代码的问题。
应该是min对数组的处理限制上。
可能超了。
回复

使用道具 举报

发表于 2013-1-28 16:26 | 显示全部楼层    本楼为最佳答案   
数组元素超过65536,就会报类型错误。
以前用transpose也碰到过这种情况。
回复

使用道具 举报

发表于 2013-1-28 16:26 | 显示全部楼层
测试,正常情况下,65536个
  1. Sub test()
  2.     Dim i&
  3.     Dim dic As Object
  4.     Set dic = CreateObject("scripting.dictionary")
  5.     For i = 1 To 65536
  6.         dic(i) = i
  7.     Next
  8.     MsgBox Application.WorksheetFunction.Min(dic.keys)
  9. End Sub
复制代码
回复

使用道具 举报

发表于 2013-1-28 16:27 | 显示全部楼层
65537,报错。
  1. Sub test()
  2.     Dim i&
  3.     Dim dic As Object
  4.     Set dic = CreateObject("scripting.dictionary")
  5.     For i = 1 To 65537
  6.         dic(i) = i
  7.     Next
  8.     MsgBox Application.WorksheetFunction.Min(dic.keys)
  9. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-1-28 17:22 | 显示全部楼层
hwc2ycy 发表于 2013-1-28 16:27
65537,报错。

老师说的我明白了,像这种情况,我要遍历所以数据,用什么方法比较好,超10万条以上的话。请老师给个方法
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 20:24 , Processed in 0.490638 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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