Office 板


LINE

各位版大好,以下有一dictionary物件,今欲将item为0之key值写入空值,但是却出现 dic.Item(i)非变数的错误讯息,不知道要如何修正,谢谢! Function inventory_rank3(item_range As Range, number_range As Range, _ rank_order As Integer) As String Dim r As Range Dim ary1, ary2 Dim w&, dic, num&, Set dic = CreateObject("scripting.dictionary") For Each r In item_range num = number_range.Resize(1).Offset(w) If r <> "" Then If dic.exists(r.Value) Then dic.Item(r.Value) = dic.Item(r.Value) + num Else dic.Add r.Value, num End If End If w = w + 1 Next For Each dic.Item(i) In dic If dic.Item(i) = 0 Then dic.Key(i) = "" Next End Function --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.39.49.112
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1457757705.A.BF4.html
1F:→ soyoso: 写法为for each 变数 in dic...next 03/12 13:18
2F:→ soyoso: 变数用於回圈item及key内 03/12 13:30
3F:→ nazomegami: 我後来使用以下做法 03/12 20:44
4F:→ nazomegami: For i = 0 To dic.Count - 1 03/12 20:45
5F:→ nazomegami: If dic.items()(i) = 0 Then dic.items()(i) = "a 03/12 20:45
6F:→ nazomegami: Next 03/12 20:46
7F:→ nazomegami: 不过dic里面的key却不为所动,觉得很困惑@@ 03/12 20:46
8F:→ nazomegami: 不好意思,上面应为dic.items()(i) = "" 03/12 20:47
9F:→ soyoso: 测试可用个变数接dic.key()(i)的值,再以dic.key(变数)的 03/12 21:28
10F:→ soyoso: 方式=原po要的字串 03/12 21:28
11F:→ soyoso: 更正为应是变数接dic.keys()(i)的值 03/12 21:34
12F:→ nazomegami: 这样的写法就成功了 03/13 17:09
13F:→ nazomegami: 不过dic的key之首项似乎不能为"" 03/13 17:10
14F:→ nazomegami: 因为每次只要首项为"",程式就会停止 03/13 17:11
15F:→ nazomegami: 不知这样的问题有无解法? 03/13 17:11
16F:→ nazomegami: 还是只能另外用变数来处理? 03/13 17:12
17F:→ soyoso: 不太了解什麽是key之首项,是指item 1吗? 03/13 17:20
18F:→ soyoso: 如果是的话,测试用for each..next来带出,并无出现原po的 03/13 17:21
19F:→ soyoso: 情况 03/13 17:21
20F:→ nazomegami: 这里的key首项就是item 1没错 03/13 20:04
21F:→ nazomegami: 我後来用以下写法 03/13 20:04
22F:→ nazomegami: For Each i In ary1 03/13 20:05
23F:→ nazomegami: If dic.Item(i) = 0 Then dic.Key(i) = "" 03/13 20:05
24F:→ nazomegami: Next 03/13 20:05
25F:→ nazomegami: 当item 1不为0时,其余item为0所对应到的key皆被顺利 03/13 20:08
26F:→ nazomegami: 变更为"",但若item 1为0时,则程式会出现错误。 03/13 20:10
27F:→ nazomegami: 不知道我哪里做错了,还请指教,谢谢! 03/13 20:11
28F:→ soyoso: https://imgur.com/QHto7Yn 模拟第一笔为0时 03/13 20:46
29F:→ soyoso: 并以for each...next带出,如图片下方红框 03/13 20:46
30F:→ nazomegami: 可是如果连B的数字都为0 03/14 08:34
31F:→ nazomegami: 那C,甚至之後的D、E等就会跑不出来 03/14 08:36
32F:→ nazomegami: 在真实的状况中,不同的项目的确会因为不同的时间的买 03/14 08:39
33F:→ nazomegami: 卖而使存货为0 03/14 08:39
34F:→ soyoso: 如果有二笔以上都改为空字串"",就会因为有重覆值而无法执 03/14 08:54
35F:→ soyoso: 行 03/14 08:55
36F:→ soyoso: 因此有二笔以上时,可以remove方式移除,回圈以反序方式 03/14 08:58
37F:→ nazomegami: 了解了,谢谢! 03/14 11:38







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP