ʵÀý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