³£¼û×ÖµäÓ÷¨¼¯½õ¼°´úÂëÏê½â£¨È«£© - À¶ÇÅÐþ˪ - ͼÎÄ ÏÂÔØ±¾ÎÄ

×ÖµäµÄ¼ò½é

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