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

ʵÀý3 AÁÐÖÐÏÔʾ1 ~ 1000Öб»6³ýÓà1ºÍÓà5 µÄÊý×Ö

ͼʵÀý3-1 ʾÀý

´úÂëÈ«²¿Ö´ÐкóÈçͼʵÀý3-2Ëùʾ¡£

ͼʵÀý3-2 ʾÀý

17

³£¼û×ÖµäÓ÷¨¼¯½õ¼°´úÂëÏê½â

ʵÀý4 ²ð·ÖÊý¾Ý²»Öظ´

Ò»¡¢ÎÊÌâµÄÌá³ö£º

ÓÐÒ»Áи÷ÖÖÊÖ»úÆ·ÅÆÐͺŵÄÊý¾Ý£¬ÒªÇó±àдһ¶Î´úÂ룬°´ÕÕÆ·ÅÆ»®·Ö³ÉûÓÐÖØ¸´Êý¾ÝµÄÈý´óÀà¡£ ¶þ¡¢´úÂ룺 Sub caifen() Dim Myr&, Arr, x& Dim d, d1, d2, i&, j&

Set d = CreateObject(\Set d1 = CreateObject(\Set d2 = CreateObject(\Myr = [a65536].End(xlUp).Row Arr = Range(\& Myr) Range(\& Myr).ClearContents

my = Array(\\ŵ»ùÑÇ\\ÈýÐÇ\\Ë÷°®\

gc = Array(\\ÁªÏë\\ÌìÓï\\½ðÁ¢\\²½²½¸ß\\²¨µ¼\\\¿áÅÉ\For x = 1 To UBound(Arr) For i = 0 To UBound(my)

If InStr(Arr(x, 1), my(i)) > 0 Then d(Arr(x, 1)) = \ GoTo 100 End If Next i

For j = 0 To UBound(gc)

If InStr(Arr(x, 1), gc(j)) > 0 Then d1(Arr(x, 1)) = \ GoTo 100 End If Next j

d2(Arr(x, 1)) = \100:

18

ʵÀý4 ²ð·ÖÊý¾Ý²»Öظ´

Next x

Range(\+ 1, 1) = Application.Transpose(d.keys) Range(\+ 1, 1) = Application.Transpose(d1.keys) Range(\+ 1, 1) = Application.Transpose(d2.keys) End Sub

Èý¡¢´úÂëÏê½â

1¡¢Set d2 = CreateObject(\ £ºÕë¶ÔÈý¸ö²»Í¬µÄÖÖÀ࣬´´½¨d¡¢d1¡¢d2Èý¸ö×Öµä¶ÔÏó¡£

2¡¢Myr = [a65536].End(xlUp).Row £º°ÑAÁÐ×îºóÒ»Ðв»Îª¿Õ°×µÄÐÐÊý¸³¸ø±äÁ¿Myr¡£

3¡¢Arr = Range(\ £º°ÑA2¿ªÊ¼µÄÓÐÊý¾ÝµÄµ¥Ôª¸ñÇøÓò¸³¸ø±äÁ¿Arr¡£ 4¡¢Range(\£º°ÑC2µ½EÁе¥Ôª¸ñÇøÓòÇå¿Õ¡£

5¡¢my = Array(\\ŵ»ùÑÇ\\ÈýÐÇ\\Ë÷°®\ £ºVBAº¯ÊýArray·µ»ØÒ»¸öһάÊý×飬ĬÈÏϽçΪ0¡£°ÑArrayº¯Êý·µ»ØµÄÊý×鸳¸ø±äÁ¿my(óÒ×Á½ºº×ÖµÄÊ××Öĸ)¡£ 6¡¢gc = Array(\ÁªÏë\ÌìÓï\½ðÁ¢\²½²½¸ß\²¨µ¼\¿áÅÉ\ £º°ÑArrayº¯Êý·µ»ØµÄÊý×鸳¸ø±äÁ¿gc(¹ú²úÁ½ºº×ÖµÄÊ××Öĸ)¡£

7¡¢For x = 1 To UBound(Arr) £ºÔÚAÁÐԭʼÊý¾ÝµÄÊý×éÖÐÖðһѭ»·¡£

8¡¢For i = 0 To UBound(my) £ºÔÚmyÊý×éÖÐÖðһѭ»·¡£ÒòΪÓÐ4¸öóÒ×»úÆ·ÅÆ£¬ËùÒÔÓÃÑ­»·Ã¿Ò»¸öÓëԭʼÊý¾Ý±È½Ï¡£

9¡¢If InStr(Arr(x, 1), my(i)) > 0 Then £ºVBAº¯ÊýInstr·µ»ØÔÚµÚ1¸ö²ÎÊýÖвéÕÒµÄλ

Öã¬Èç¹û·µ»Ø½á¹û£½0£¬±íʾÔÚµÚ1¸ö²ÎÊýÖÐûÓеÚ2¸ö²ÎÊý´æÔÚ¡£±¾¾äµÄÒâ˼ÊÇÈç¹ûÕÒµ½Ã³Ò×»úÆ·ÅÆµÄ»°£¬Ö´ÐÐÏÂÃæµÄ´úÂë¡£

10¡¢d1(Arr(x, 1)) = \ £º½ÓÉϾ䣬Èç¹ûÉÏÃæÅжϳÉÁ¢£¬¾Í°ÑArr(x, 1)¼ÓÈë×Öµäd¡£ 11¡¢GoTo 100 £ºGotoÓï¾äÓÃÓÚÎÞÌõ¼þµØ×ªÒƵ½¹ý³ÌÖÐÖ¸¶¨µÄÐС£ÕâÀï²ÉÓÃÌø³öFor iÑ­»·£¬Ò»ÊÇΪÁ˼õÉÙÑ­»·µÄ´ÎÊý£¬±ÈÈç\ÕÒµ½µÄ»°£¬ºóÃæ3¸ö¾Í²»ÐèÒªÕÒÁË£»¶þÊÇΪÁËÌø¹ýÁ½¸öСѭ»·Ö®ºóµÄÆäËüÆ·ÅÆ¼ÓÈëµÚ3¸ö×ÖµäµÄd2(Arr(x, 1)) = \Óï¾ä¡£

12¡¢For jÑ­»·ÓëÉÏÃæÏàͬ£¬ÎªÁËÅжϵõ½¹ú²ú»úÀàµÄ×Öµäd1¡£

13¡¢d2(Arr(x, 1)) = \ £ºÈç¹ûÉÏÊöÁ½¸öСѭ»·¶¼²»Âú×㣬ÄÇô¾Í¼ÓÈëÆäËüÆ·ÅÆÀà×ÖµäÀï¡£

14¡¢Range(\+ 1, 1) = Application.Transpose(d.keys) £º×îºóµÄ3¾ä·Ö±ð°Ñ×ÖµäµÄ¹Ø¼ü×ÖÊý×éתÖú󸳸øÏàÓ¦µÄµ¥Ôª¸ñÇøÓò¡£

´úÂëÖ´ÐкóÈçͼʵÀý4-1Ëùʾ¡£

19

³£¼û×ÖµäÓ÷¨¼¯½õ¼°´úÂëÏê½â

ͼ ʵÀý4-1 ʾÀý

ɽ¾Õ»¨°æÖ÷ÓÃÁËÒ»¸ö×Öµä¶ÔÏó¾Í½â¾öÁËÉÏÊöÎÊÌâ¡£ÈÃÎÒÃÇÀ´Ñ§Ï°Ò»Ï¡£

ËÄ¡¢É½¾Õ»¨°æÖ÷µÄ´úÂ룺 Sub ²ð·Ö()

Dim pp1$, pp2$, nRow%, ds, Brr(), s(1 To 3) As Integer Set ds = CreateObject(\

pp1 = Join(WorksheetFunction.Transpose(Range(Range(\Range(\wn))), \

pp2 = Join(WorksheetFunction.Transpose(Range(Range(\Range(\wn))), \

nRow = Range(\ Arr = Range(\& nRow) ReDim Brr(1 To nRow, 1 To 3) For i = 2 To nRow

If Not ds.Exists(Arr(i, 1)) Then ds(Arr(i, 1)) = \

If pp1 Like \& Left(Arr(i, 1), 2) & \Then s(1) = s(1) + 1

20

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)