ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

½Ð°ª¤âÀ°¦£¡A¨D§UVBA¥]§t®M¥Î¤Î¹¢¿ïµ¥«ü¥O

¥»©«³Ì«á¥Ñ ­ã´£³¡ªL ©ó 2016-4-2 11:13 ½s¿è

²Ä¢´ÂI»Ý¨D¤£¤Ó²M·¡¡A¥ý¸Õ¬Ý¬Ý¡G
  1. Sub ¸ü¤J()
  2. Dim Arr, xB As Workbook, BKN, i&, N&, xD, U
  3. Call ²M°£
  4. Set xD = CreateObject("Scripting.Dictionary") '¦r¨åÀÉ
  5. Application.ScreenUpdating = False

  6. Set xB = Workbooks.Open(ThisWorkbook.Path & "\Christy¯]Ä_§ó·s.xls", ReadOnly:=True) '°ßŪ¶}±ÒÀÉ®×
  7. Arr = Range(xB.Sheets(1).[C1], xB.Sheets(1).Cells(Rows.Count, 2).End(xlUp)) '±N¸ê®Æ½d³ò¯Ç¤J°}¦C
  8. xB.Close 0 'Ãö³¬ÀÉ®×
  9. For i = 2 To UBound(Arr)
  10.     If Left(Arr(i, 1), 2) = "FJ" Or Left(Arr(i, 1), 1) = "W" Then 'Àˬd½s¸¹­º2©Î1­^¤å½X
  11.        N = N + 1 '²Å¦XªÌ²Ö¥[1
  12.        Arr(N, 1) = Left(Arr(i, 1), 6) & "-" & Right(Arr(i, 1), 3) '¼g¤J½s¸¹
  13.        Arr(N, 2) = Arr(i, 2) '¼g¤J¼Æ¶q
  14.        xD(Arr(N, 1)) = Arr(N, 2) '¥H½s¸¹¬°key,±N¼Æ¶q¯Ç¤J¦r¨åÀÉ
  15.     End If
  16. Next i
  17. If N > 0 Then Cells(Rows.Count, "H").End(xlUp)(2).Resize(N, 2) = Arr '¸ü¤J°}¦C¤º®e


  18. For Each BKN In Array("F¯]Ä_¤W¸¨µP", "W¯]Ä_¤W¸¨µP") '³v¤@¶}±Ò¨â­ÓÀÉ®×
  19.     Set xB = Workbooks.Open(ThisWorkbook.Path & "\" & BKN & ".xls", ReadOnly:=True) '°ßŪ¶}±ÒÀÉ®×
  20.     Arr = xB.Sheets(1).UsedRange '±N¸ê®Æ½d³ò¯Ç¤J°}¦C
  21.     xB.Close 0 'Ãö³¬ÀÉ®×
  22.     N = 0 '­p¼Æ¾¹Âk0
  23.     For i = 2 To UBound(Arr)
  24.         If Left(Arr(i, 5), 2) = "FJ" Or Left(Arr(i, 5), 1) = "W" Then 'Àˬd½s¸¹­º2©Î1­^¤å½X
  25.            N = N + 1 '²Å¦XªÌ²Ö¥[1
  26.            Arr(N, 1) = Left(Arr(i, 5), 6) & "-" & Right(Arr(i, 5), 3) '¼g¤J½s¸¹
  27.            Arr(N, 2) = Arr(i, 12) '¼g¤J[¬O/§_]
  28.            Arr(N, 3) = Val(xD(Arr(N, 1))) '¼g¤J¼Æ¶q(±q¦r¨åÀɤ¤¨ú¥X)
  29.            '¡õ¤W/¤UµPÀˬd
  30.            Arr(N, 4) = ""
  31.            If Arr(N, 2) = "§_" And Arr(N, 3) > 0 Then Arr(N, 4) = "¡¶¤WµP": U = U + 1
  32.            If Arr(N, 2) = "¬O" And Arr(N, 3) = 0 Then Arr(N, 4) = "¡¿¤UµP": U = U + 1
  33.         End If
  34.     Next i
  35.     If N > 0 Then Cells(Rows.Count, "C").End(xlUp)(2).Resize(N, 4) = Arr '¸ü¤J°}¦C¤º®e
  36. Next

  37. Application.ScreenUpdating = True
  38. If U > 0 Then MsgBox "¦@¦³ " & U & " ­Ó¶µ¥Ø¶·³B²z¡I¡@"
  39. End Sub

  40. Sub ²M°£()
  41. With ActiveSheet
  42.     If .FilterMode Then .ShowAllData
  43.     .UsedRange.Offset(1, 0).EntireRow.Delete
  44.     .[A2].Select
  45. End With
  46. End Sub
½Æ»s¥N½X
¡@
¡@
°Ñ¦ÒÀɮסGXLS®æ¦¡¡A½Ð¦Û¦æ¥h®M
FW¯]Ä_¤W¸¨µP¤@Áä.rar (72.71 KB)
¡@
¥t¤@¸üÂI¡G
http://www.funp.net/918457
¡@
¡@

TOP

¦^´_ 3# tc1701


¦p¶Wª©©Ò¨¥, ¤@¤Á»Ý­n®É¶¡
--- ¥²¶·¯u¥¿¦³¤ßªá®É¶¡¥h§ä¸ê®Æ, ¶R®Ñ, ¬Ýexcel¤º«Ø»¡©úÀÉ,
ÁÙ¨S¦³vba°ò¥»»{ÃÑ, »¡¤Ó¦h¤]¬O¨S¦h¤j¥Î³B, Ãú¸Ì¬Ýªá,
´N¹³¥~°ê¤H¥¼¾Ç«÷­µ©Îª`­µ, «ÜÃø¸ò¥L¸ÑÄÀ»y¤å, ¨C¤@¥y³£¦p¤å¨¥¤åªºÃøÀ´,
¦³¤F°ò¦, ¨º§Ú©Ò¼gªºµ{¦¡, ¬Ý°_¨Ó´N¬O¥Õ¸Ü¤å, ¤@­Ó»¡©ú³£¤£¥Î!!!

TOP

        ÀR«ä¦Û¦b : ¡i¬°µ½Ävª§¡j¤H¥Í­n¬°µ½Ävª§¡A¤À¬í¥²ª§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD