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

[µo°Ý] ¡´(µo°Ý)¤j¶q¸ê®Æ³sÄò·s¼WÄæ¦ì¥h­pºâªº­Èªº°ÝÃD

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-1-8 13:16 ½s¿è

¦^´_ 1# yagami12th

->   ¥Î§A³o¸Ìµo¤åªºÀÉ®×  °õ¦æ¦¹µ{¦¡
  1. Const ThePath = "d:\You\" '«ü©w¦s©ñªº¥D¸ê®Æ§¨
  2. Sub Ex()
  3. Dim d As Object, SavePath As String, Sh As Worksheet, R As Variant, E As Variant, Newbook As Workbook
  4. Dim MonPath As String, ¿ï¾ÜÅv As String, ¼i¬ù»ù As String
  5. Application.DisplayAlerts = False '°±¤î¨t²Î ªº´£¥Ü
  6. Application.ScreenUpdating = False '°±¤î¿Ã¹õ§ó·s¥\¯à
  7. Set d = CreateObject("scripting.Dictionary") '«Ø¥ß¦r¨åª«¥ó
  8. SavePath = Dir(ThePath, 16) '¶Ç¦^«ü©w¦s©ñªº¥D¸ê®Æ§¨
  9. If SavePath = "" Then MkDir (ThePath) '¦p¥D¸ê®Æ§¨¤£¦s¦b «Ø¥ß¥¦
  10. For Each Sh In Sheets
  11. d.RemoveAll '¦r¨åª«¥ó ²MªÅ¤lª«¥ó
  12. With Sh '¨Ì§Ç³B¸Ì ¨C¤@¤u§@ªí
  13. For Each R In .Range(.[D2], .[D2].End(xlDown)) '¨C¤@¤u§@ªí¤¤¦bdÄæ
  14. d(R.Value) = "" '¦r¨åª«¥ó ³]¥ß¤lª«¥ó(¼i¬ù»ù)
  15. Next
  16. MonPath = Mid(.[c2], 1, 4) & "_" & Mid(.[c2], 5) '¤ë¸ê®Æ§¨
  17. SavePath = Dir(ThePath & MonPath, 16) '´M§ä¤ë¸ê®Æ§¨
  18. If SavePath = "" Then MkDir (ThePath & MonPath) '¦p¤ë¸ê®Æ§¨¤£¦s¦b «Ø¥ß¥¦
  19. For Each E In Array("¶RÅv", "½æÅv") '¨Ì¿ï¾ÜÅv
  20. ¿ï¾ÜÅv = "\" & MonPath & IIf(E = "¶RÅv", "_C\", "_P\") '¤ë¸ê®Æ§¨\¿ï¾ÜÅv¸ê®Æ§¨
  21. SavePath = Dir(ThePath & MonPath & ¿ï¾ÜÅv, 16)
  22. If SavePath = "" Then MkDir (ThePath & MonPath & ¿ï¾ÜÅv)
  23. For Each R In d.KEYS '¦r¨åª«¥ó ¨Ì§Ç³B¸Ì¤lª«¥ó R (¼i¬ù»ù)
  24. .AutoFilterMode = False '¤u§@ªí¤¤¨ú®ø¦Û°Ê¿z¿ï
  25. .Range("A1").AutoFilter Field:=4, Criteria1:=R
  26. .Range("A1").AutoFilter Field:=5, Criteria1:=E
  27. 'AutoFilter ¤èªk[¦Û°Ê¿z¿ï] ¿z¿ï¥X¤@­Ó²M³æ¡C
  28. 'Field:=4 ²Ä4Äæ (¼i¬ù»ù) ,Criteria1:=R ·Ç«h=R (¼i¬ù»ù)
  29. 'Field:=5 ²Ä5Äæ (¿ï¾ÜÅv) ,Criteria1:=E ·Ç«h=E (¿ï¾ÜÅv)
  30. ¼i¬ù»ù = Mid(.[c2], 1, 4) & "_" & Mid(.[c2], 5) & "_" & R & IIf(E = "¶RÅv", "_C", "_P")
  31. SavePath = ThePath & MonPath & ¿ï¾ÜÅv & ¼i¬ù»ù '¦sÀɪº§¹¾ã¸ô®|¦WºÙ
  32. Set Newbook = Workbooks.Add(1) '·s¶}ÀÉ®×(1­¶)
  33. .UsedRange.SpecialCells(xlCellTypeConstants).Copy Newbook.Sheets(1).[a1]
  34. '¦Û°Ê¿z¿ïªº¸ê®Æ ½Æ»s¨ì·s¶}ÀɮײÄ1­¶ªº.[a1]
  35. With Newbook.Sheets(1)
  36. .[O1] = "°ª»ù´î§C»ù"
  37. .[P1] = "¦¨¥æ¶qÅܤÆ"
  38. With .[O2].Resize(.UsedRange.Columns(1).Rows.Count - 1) '¦b³o½d³ò
  39. .Cells = "=RC[-8]-RC[-7]" 'µM«á¦bO2Äæ¦ì=g2-h2: ¨î­q¤½¦¡
  40. .Value = .Value '¨ú­È -> ®ø°£¤½¦¡
  41. End With
  42. With .[P3].Resize(.UsedRange.Columns(1).Rows.Count - 2)
  43. .Cells = "=RC[-6]-R[-1]C[-6]" '¦bp3®æ¦ì¿é¤J¤½¦¡=j3-j2
  44. .Value = .Value
  45. End With
  46. End With
  47. Newbook.Close True, SavePath '·s¶}ÀÉ®×Ãö³¬ ¦sÀÉ
  48. Next
  49. Next
  50. .AutoFilterMode = False 'Â÷¶}¤u§@ªí«ì´_­ìª¬
  51. End With
  52. Next
  53. Application.DisplayAlerts = True '«ì´_¨t²Îªº´£¥Ü
  54. Application.ScreenUpdating = True '¿Ã¹õ§ó·s¥\¯à¬O¶}±Òªº«h¬° True¡C
  55. MsgBox "¤u§@§¹¦¨"
  56. End Sub
½Æ»s¥N½X

TOP

¦^´_ 3# yagami12th
¥x»y«Z»y : À¸´×¤U¯¸¤[¬O§Aªº
§Ú¨S¤°»ò¸gÅç,¥\¤O¬O¦b³o¸Ì½m²ßªº (¦h¬Ý¦h°Ý¦h½m²ß)
  1. Sub Ex()
  2.     Dim D As Object, AR(), E As Variant
  3.     Set D = CreateObject("SCRIPTING.DICTIONARY")
  4.     AR = Array("AA", "BB", "CC", "DD")
  5.     For Each E In AR
  6.         D(Mid(E, 1, 1)) = E
  7.     Next
  8.     For Each E In D.KEYS
  9.         MsgBox E
  10.     Next
  11.     MsgBox Join(D.KEYS, ":")
  12.     For Each E In D.ItemS
  13.         MsgBox E
  14.     Next
  15.     MsgBox Join(D.ItemS, ":")
  16. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD