Excel精英培训网

 找回密码
 注册
查看: 2103|回复: 1

13讲数组和字典课件第一题的字典嵌套字典法

[复制链接]
发表于 2011-7-30 20:12 | 显示全部楼层 |阅读模式

  1. # o* T, ^3 F2 b, t4 I
  2. Sub aa()2 `) R# g8 _  k1 h1 R6 |
  3. Dim arr- R; c' O' l: V, {% K" O
  4. Dim d As New Dictionary
    5 o) x) a9 o% @
  5. Dim i As Integer, j As Integer
    ' c4 a3 W7 M" N+ ~; x
  6. arr = Sheets("字典作列").[A2:F111]
    ) _3 n! L7 B& h2 W; M
  7. For j = 1 To 5+ Z3 K2 ?! ?5 [0 ^1 @2 e
  8.     Set d(j) = New Dictionary
    ; t4 C$ F7 o9 b4 Q+ |0 F) {( }/ D
  9.     For i = 1 To UBound(arr): m" \  L0 c7 E
  10.         d(j)(arr(i, 1)) = d(j)(arr(i, 1)) + arr(i, j + 1); s8 I6 x/ ]' c+ _9 m+ U
  11.     Next i
    . J, n; j( B8 L0 Y* ]2 r/ O5 a
  12. Next j0 y  r: c7 Q) ~! u, ?
  13. Sheets("字典作列").[H2].Resize(d(1).Count) = Application.Transpose(d(1).Keys)# k# Y8 ~, \  e( d* f. t
  14. For j = 1 To 5- v3 Z3 i( A# O9 O% z' n
  15. Sheets("字典作列").Cells(2, j + 8).Resize(d(j).Count) = Application.Transpose(d(j).Items)
    3 k, O! p, t; H' ^
  16. Next j/ A4 Y9 y+ ]: p" O1 _
  17. End Sub! k0 @# R8 v+ X& l: K5 \* ?5 B7 q7 S
复制代码
; _: k4 O: S" o# C# A: f6 @
发表于 2011-7-30 22:04 | 显示全部楼层
字典d(Key为1-5,Item为5个子字典),每个子字典代表一种水果(Key为省份,Item为数量累计)。, @/ x6 l4 c: Z2 H) U' J" ?& h
有个疑惑:子字典中的项可以表示为 d.Items(0)(arr(i,1)) ,既然子字典也是字典,那么也应该继承字典的一些方法与属性,但为什么不能表示为d.Items(0).Items(0)?
回复

使用道具 举报

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

GMT+8, 2024-6-6 02:30 , Processed in 0.237886 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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