×ÖµäµÄ¼ò½é
d.Add \ d.Add \ k=d.Keys
[B1].Resize(d.Count,1)=Application.Transpose(k) ´úÂëÏê½â
1¡¢Dim d, k £ºÉùÃ÷±äÁ¿£¬d¼ûǰÀý£»kĬÈÏÊǿɱäÐÍÊý¾ÝÀàÐÍ(Variant)¡£
2¡¢k=d.Keys£º°Ñ×ÖµäÖдæÔÚµÄËùÓеĹؼü×Ö¸³¸ø±äÁ¿k¡£µÃµ½µÄÊÇÒ»¸öһάÊý×飬ÏÂÏÞΪ0£¬ÉÏÏÞΪd.Count-1¡£ÕâÊÇÊý×éµÄĬÈÏÐÎʽ¡£
3¡¢[B1].Resize(d.Count,1)=Application.Transpose(k) £ºÕâ¾ä´úÂëÊǺܳ£ÓúܾµäµÄ´úÂ룬ËùÒÔÕâÀïÒª¶à˵һЩ¡£
ResizeÊÇRange¶ÔÏóµÄÒ»¸öÊôÐÔ£¬ÓÃÓÚµ÷ÕûÖ¸¶¨ÇøÓòµÄ´óС£¬ËüÓÐÁ½¸ö²ÎÊý£¬µÚÒ»¸öÊÇÐÐÊý£¬±¾ÀýÊÇd.Count£¬Ö¸µÄÊÇ×ÖµäÖйؼü×ÖµÄÊýÁ¿£¬Õû±¾×ÖµäÖÐÓжàÉÙ¸ö¹Ø¼ü×Ö£¬±¾Àýd.Count=3£¬ÒòΪÓÐ3¸ö¹Ø¼ü×Ö¡£ºÇºÇ£¬ÊDz»ÊÇ˵¶àÁË¡£
µÚ¶þ¸öÊÇÁÐÊý£¬±¾ÀýÊÇ1¡£ÕâÑù£½×ó±ßµÄÒâ˼¾ÍÊÇ£º°ÑÒ»¸öµ¥Ôª¸ñB1µ÷ÕûΪÒÔB1¿ªÊ¼µÄÒ»Áе¥Ôª¸ñÇøÓò£¬ÐÐÊýµÈÓÚ×ÖµäÖйؼü×ÖµÄÊýÁ¿d.Count£¬¾ÍÊǰѵ¥Ôª¸ñB1µ÷ÕûΪµ¥Ôª¸ñÇøÓòB1£ºB3ÁË¡£
£½ÓұߵÄkÊǸöһάÊý×飬ÊÇˮƽÅÅÁеģ¬ÎÒÃÇÖªµÀExcel¹¤×÷±íº¯ÊýÀïÃæÓиöתÖú¯ÊýTranspose£¬ÓÃËü¿ÉÒÔ°ÑˮƽÅÅÁеÄÖû»³ÉÊúÏòÅÅÁС£µ«ÊÇÔÚVBAÖв»ÄÜÖ±½ÓʹÓøù¤×÷±íº¯Êý£¬ÐèҪͨ¹ýApplication¶ÔÏóµÄWorksheetFunctionÊôÐÔÀ´Ê¹ÓÃËü¡£ËùÒÔÍêÕûµÄд·¨ÊÇApplication. WorksheetFunction.Transpose(k)£¬ÖмäµÄWorksheetFunction¿ÉÊ¡ÂÔ¡£ÏÖÔÚ¿ÉÒÔ½âÊÍÕâ¾ä´úÂëÁË£º°Ñ×ÖµäÖÐËùÓеĹؼü×Ö¸³¸øÒÔB1µ¥Ôª¸ñ¿ªÊ¼µÄµ¥Ôª¸ñÇøÓòÖС£
Items·½·¨
·µ»ØÒ»¸öÊý×飬ÆäÖаüº¬ÁËÒ»¸ö Dictionary ¶ÔÏóÖеÄËùÓÐÏîÄ¿¡£ object.Items( )
ÆäÖÐ object ×ÜÊÇÒ»¸ö Dictionary ¶ÔÏóµÄÃû³Æ¡£
³£ÓÃÓï¾ä£º Dim d, t
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ t=d.Items
[C1].Resize(d.Count,1)=Application.Transpose(t) ´úÂëÏê½â
1¡¢Dim d, t £ºÉùÃ÷±äÁ¿£¬d¼ûǰÀý£»tĬÈÏÊǿɱäÐÍÊý¾ÝÀàÐÍ(Variant)¡£
2¡¢t=d.Items £º°Ñ×ÖµäÖÐËùÓеĹؼü×Ö¶ÔÓ¦µÄÏ¸ø±äÁ¿t¡£µÃµ½µÄÒ²ÊÇÒ»¸öһά
5
³£¼û×ÖµäÓ÷¨¼¯½õ¼°´úÂëÏê½â
Êý×飬ÏÂÏÞΪ0£¬ÉÏÏÞΪd.Count-1¡£ÕâÊÇÊý×éµÄĬÈÏÐÎʽ¡£
3¡¢[C1].Resize(d.Count,1)=Application.Transpose(t) £ºÓÐÁËÉÏÃæKeys·½·¨µÄ½âÊÍÕâ¾ä´úÂë¾Í²»Óöà˵ÁË£¬¾ÍÊǰÑ×ÖµäÖÐËùÓеĹؼü×Ö¶ÔÓ¦µÄÏ¸øÒÔC1µ¥Ôª¸ñ¿ªÊ¼µÄµ¥Ôª¸ñÇøÓòÖС£
Remove·½·¨
Remove ·½·¨´ÓÒ»¸ö Dictionary ¶ÔÏóÖÐÇå³ýÒ»¸ö¹Ø¼ü×Ö£¬ÏîÄ¿¶Ô¡£ object.Remove(key )
ÆäÖÐ object ×ÜÊÇÒ»¸ö Dictionary ¶ÔÏóµÄÃû³Æ¡£ key
±ØÑ¡Ïî¡£key ÓëÒª´Ó Dictionary ¶ÔÏóÖÐɾ³ýµÄ¹Ø¼ü×Ö£¬ÏîÄ¿¶ÔÏà¹ØÁª¡£ ˵Ã÷
Èç¹ûËùÖ¸¶¨µÄ¹Ø¼ü×Ö£¬ÏîÄ¿¶Ô²»´æÔÚ£¬ÄÇô½«µ¼ÖÂÒ»¸ö´íÎó¡£
³£ÓÃÓï¾ä£º Dim d
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ ¡¡
d.Remove(¡°b¡±) ´úÂëÏê½â
1¡¢d.Remove(¡°b¡±)£ºÇå³ý×ÖµäÖС±b¡±¹Ø¼ü×ÖºÍÓëËü¶ÔÓ¦µÄÏî¡£Çå³ýÖ®ºó,ÏÖÔÚ×ÖµäÀïÖ»ÓÐ2¸ö¹Ø¼ü×ÖÁË¡£
RemoveAll·½·¨
RemoveAll ·½·¨´ÓÒ»¸ö Dictionary ¶ÔÏóÖÐÇå³ýËùÓеĹؼü×Ö£¬ÏîÄ¿¶Ô¡£ object.RemoveAll( )
ÆäÖÐ object ×ÜÊÇÒ»¸ö Dictionary ¶ÔÏóµÄÃû³Æ¡£ ³£ÓÃÓï¾ä£º Dim d
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ ¡¡
d.RemoveAll
6
×ÖµäµÄ¼ò½é
´úÂëÏê½â
1¡¢d.RemoveAll£ºÇå³ý×ÖµäÖÐËùÓеÄÊý¾Ý¡£Ò²¾ÍÊÇÇå¿ÕÕâ×ֵ䣬Ȼºó¿ÉÒÔÌí¼ÓеĹؼü×ÖºÍÏÐγÉÒ»±¾ÐÂ×ֵ䡣
×Öµä¶ÔÏóµÄÊôÐÔÓÐ4¸ö£ºCountÊôÐÔ¡¢KeyÊôÐÔ¡¢ItemÊôÐÔ¡¢CompareModeÊôÐÔ¡£
CountÊôÐÔ
·µ»ØÒ»¸öDictionary ¶ÔÏóÖеÄÏîÄ¿Êý¡£Ö»¶ÁÊôÐÔ¡£ object.Count
ÆäÖÐ objectÒ»¸ö×Öµä¶ÔÏóµÄÃû³Æ¡£ ³£ÓÃÓï¾ä£º Dim d,n%
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ n = d.Count ´úÂëÏê½â
1¡¢Dim d, n% £ºÉùÃ÷±äÁ¿£¬d¼ûǰÀý£»n±»ÉùÃ÷ΪÕûÐÍÊý¾ÝÀàÐÍ(Integer)¡£Ò»°ãд·¨ÎªDim n As Integer ¡£ Integer µÄÀàÐÍÉùÃ÷×Ö·ûΪ°Ù·Ö±ÈºÅ (%)¡£
2¡¢n = d.Count £º°Ñ×ÖµäÖÐËùÓеĹؼü×ÖµÄÊýÁ¿¸³¸ø±äÁ¿n¡£±¾ÀýµÃµ½µÄÊÇ3¡£
KeyÊôÐÔ
ÔÚ Dictionary ¶ÔÏóÖÐÉèÖÃÒ»¸ö key¡£ object.Key(key) = newkey ²ÎÊý£º object
±ØÑ¡Ïî¡£×ÜÊÇÒ»¸ö×Öµä (Dictionary) ¶ÔÏóµÄÃû³Æ¡£ key
±ØÑ¡Ïî¡£±»¸Ä±äµÄ key Öµ¡£ newkey
±ØÑ¡Ïî¡£Ìæ»»ËùÖ¸¶¨µÄ key µÄÐÂÖµ¡£ ˵Ã÷
Èç¹ûÔڸıäÒ»¸ö key ʱûÓз¢Ïָà key£¬ÄÇô½«´´½¨Ò»¸öÐ嵀 key ²¢ÇÒÆäÏà¹ØÁªµÄ item ±»ÉèÖÃΪ¿Õ¡£
³£ÓÃÓï¾ä£º Dim d
7
³£¼û×ÖµäÓ÷¨¼¯½õ¼°´úÂëÏê½â
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ d.Key(\ ´úÂëÏê½â
1¡¢d.Key(\= \£ºÓÃеĹؼü×Ö¡±d¡±À´Ìæ»»Ö¸¶¨µÄ¹Ø¼ü×Ö¡±c¡±£¬Õâʱ£¬×ÖµäÖоÍûÓйؼü×ÖcÁË£¬Ö»Óйؼü×ÖdÁË£¬Óëd¶ÔÓ¦µÄÏîÊÇ¡±Cairo¡±¡£
ItemÊôÐÔ
ÔÚÒ»¸ö Dictionary ¶ÔÏóÖÐÉèÖûòÕß·µ»ØËùÖ¸¶¨ key µÄ item¡£¶ÔÓÚ¼¯ºÏÔò¸ù¾ÝËùÖ¸¶¨µÄ key ·µ»ØÒ»¸ö item¡£¶Á/д¡£
object.Item(key)[ = newitem] ²ÎÊý object
±ØÑ¡Ïî¡£×ÜÊÇÒ»¸öDictionary ¶ÔÏóµÄÃû³Æ¡£ key
±ØÑ¡Ïî¡£ÓëÒª±»²éÕÒ»òÌí¼ÓµÄ item Ïà¹ØÁªµÄ key¡£ newitem
¿ÉÑ¡Ïî¡£½öÊÊÓÃÓÚ Dictionary ¶ÔÏó£»newitem ¾ÍÊÇÓëËùÖ¸¶¨µÄ key Ïà¹ØÁªµÄÐÂÖµ¡£
˵Ã÷
Èç¹ûÔڸıäÒ»¸ö key µÄʱºòûÓÐÕÒµ½¸Ã item£¬ÄÇô½«ÀûÓÃËùÖ¸¶¨µÄ newitem ´´½¨Ò»¸öÐ嵀 key¡£Èç¹ûÔÚÊÔͼ·µ»ØÒ»¸öÒÑÓÐÏîÄ¿µÄʱºòûÓÐÕÒµ½ key£¬ÄÇô½«´´½¨Ò»¸öÐ嵀 key ÇÒÆäÏà¹ØµÄÏîÄ¿±»ÉèÖÃΪ¿Õ¡£
³£ÓÃÓï¾ä£º Dim d
Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ MsgBox d.Item(\ ´úÂëÏê½â
1¡¢d.Item(\£º»ñȡָ¶¨µÄ¹Ø¼ü×Ö¡±c¡±¶ÔÓ¦µÄÏî¡£
2¡¢MsgBox £ºÊÇÒ»¸öVBAº¯Êý£¬ÓÃÏûÏ¢¿òÏÔʾ¡£Èç¹ûÒªÏêϸÁ˽âMsgBoxº¯ÊýµÄ£¬¿É²Î¼ûÎÒµÄÁíһƪÎÄÕ¡°³£ÓÃVBAº¯Êý¾«Ñ¡ºÏ¼¯¡±¡£http://club.excelhome.net/thread-387253-1-1.html
8