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

¬d¸ß¦hµ§ExcelÀɮ׫ü©w¬¡·~ï¸ê®Æ,¦hµ§¦C¥X

¬d¸ß¦hµ§ExcelÀɮ׫ü©w¬¡·~ï¸ê®Æ,¦hµ§¦C¥X

·Q¸ò¦U¦ì«e½ú­Ì½Ð±Ð¦hµ§Àɮ׬d¸ßªº¥¨¶°

¤p§Ì¦³§ä¨ì¤@¨Ç¸ê®Æ,¦ý¬O¤£·|¾ã¦X,§Æ±æ¦³¤j¤j¯àÀ°¦£
¥H¤U¬O§Ú§ä¨ìªº¦¹°Q½×ª©¬ÛÃöªº°Q½×
·j´M ExcelÀɮסB¬¡·~ï¦hµ§ÃöÁä¦r¡A¦A¦hµ§"§¹¾ã"¦C¥X
¦hµ§EXCEL·j´Mªº¥Îªk

¦b¤U±N©Ò»Ýªº°ÝÃD´£°Ý©óªþÀɤ¤ªº¤u§@¤é³øªí.xls¸Ì­±
¤p§Ì¤~²¨¾Ç²L,ªþ¥ó¤¤ªº¥¨¶°ÁÙ¦b°Ñ³z¤¤,©Ò¥HÁÙ±æ¨ä¥L«e½ú¯àÀ°¦£¾ã¦X
¬d¸ß¦hÀɮ׺î¦X¸ê®Æ®w.rar (58.67 KB)

¦^´_ 2# GBKEE
    ¥ý·PÁÂGBKEEª©¥D¤j¤jªº¦^À³
¥¿¦bºCºC¬ã¨s¤º®e¤¤
·PÁªþ¤W¤¤¤å»¡©ú¡AÅý¤p§Ì¯à³v¦æÆ[¹î¾Ç²ß
¥ý¦æ´ú¸Õ©M¬ã¨sµ{¦¡½X¥h
ÁÂÁ«ü±Ð¡I

TOP

¦^´_ 1# jackson7015
  1. Option Explicit
  2. Dim Wb(1 To 2) As Workbook, xlText As String, S As Integer, AR()
  3. Const ¤u§@ï = "¬d¸ß¥Î"
  4. Sub ¬d¸ß_A() '­n¬d¸ß¸ê®Æªº¬¡­¶Ã¯¤w¶}±Ò
  5.     ¥D¬¡­¶Ã¯
  6.     For Each Wb(2) In Workbooks                                 '©Ò¦³¶}±Òªº¬¡­¶Ã¯
  7.         If Wb(1).Name <> Wb(2).Name Then ¸ê®Æ¬d¸ß
  8.     Next
  9.     ¸m¤J¸ê®Æ
  10. End Sub
  11. Sub ¬d¸ß_B() '­n¬d¸ß¸ê®Æªº¬¡­¶Ã¯¥¼¶}±Ò: ¥B»P¥D¬¡­¶Ã¯¦b¦P¤@¸ê®Æ§¨ ¬d¸ß "*¤u§@¤é³øªí.xls" ¬¡­¶Ã¯ªº¸ê®Æ
  12.     Dim xlFile As String, xlPath As String
  13.     ¥D¬¡­¶Ã¯
  14.     xlPath = Wb(1).Path & "\"
  15.     xlFile = Dir(xlPath & "*¤u§@¤é³øªí.xls")
  16.     Wb(1).Activate
  17.     Application.ScreenUpdating = False
  18.     Do While xlFile <> ""
  19.         If Wb(1).Name <> xlFile Then
  20.              Set Wb(2) = Workbooks.Open(xlPath & xlFile)
  21.             ¸ê®Æ¬d¸ß
  22.             Wb(2).Close False
  23.         End If
  24.         xlFile = Dir
  25.     Loop
  26.     ¸m¤J¸ê®Æ
  27.     Application.ScreenUpdating = True
  28. End Sub
  29. Sub ¬d¸ß_C() '­n¬d¸ß¸ê®Æªº¬¡­¶Ã¯¥¼¶}±Ò: ¥Îµøµ¡¨Ó¿ï°_¨ú(«ü©w)¸ê®Æ§¨  ¬d¸ß "*¤u§@¤é³øªí.xls" ¬¡­¶Ã¯ªº¸ê®Æ
  30.     Dim xlPath As String, xlFile As String
  31.     ¥D¬¡­¶Ã¯
  32.     With Application.FileDialog(msoFileDialogFolderPicker)
  33.         .InitialFileName = Wb(1).Path & "\"
  34.         If .Show = True Then
  35.             xlPath = .SelectedItems(1) & "\"
  36.         Else
  37.             MsgBox "¨S¦³«ü©w ¸ê®Æ§¨"
  38.             Exit Sub
  39.         End If
  40.     End With
  41.     xlFile = Dir(xlPath & "*¤u§@¤é³øªí.xls")
  42.     Wb(1).Activate
  43.     Application.ScreenUpdating = False
  44.     Do While xlFile <> ""
  45.         If Wb(1).Name <> xlFile Then
  46.              Set Wb(2) = Workbooks.Open(xlPath & xlFile)
  47.             ¸ê®Æ¬d¸ß
  48.             Wb(2).Close False
  49.         End If
  50.         xlFile = Dir
  51.     Loop
  52.     ¸m¤J¸ê®Æ
  53.     Application.ScreenUpdating = True
  54. End Sub
  55. Sub ²M°£¸ê®Æ()
  56.     With Wb(1).Sheets(¤u§@ï)                                   'µ{¦¡½X©Ò¦bªº¬¡­¶Ã¯
  57.         .Range("B4").CurrentRegion.Offset(2).Clear              '²M°£Â¦³¸ê®Æ
  58.     End With
  59. End Sub
  60. Private Sub ¥D¬¡­¶Ã¯()
  61.     Set Wb(1) = ThisWorkbook                                    'µ{¦¡½X©Ò¦bªº¬¡­¶Ã¯
  62.    'Set Wb(1 =Workbooks("¤u§@¤é³øªí.xls")                       '¦b«ü©wªº¬¡­¶Ã¯
  63.     xlText = Wb(1).Sheets("¬d¸ß¥Î").TextBox1                    '­n·j´Mªº¦r¦ê
  64.     S = 0
  65. End Sub
  66. Private Sub ¸ê®Æ¬d¸ß()
  67.     Dim E As Range, Ay(), xi As Integer
  68.     For Each E In Wb(2).Sheets(1).UsedRange.Rows               '¤w¨Ï¥Î½d³òªº¦C
  69.         If (E.Cells(1, 4) <> "" And IsNumeric(E.Cells(1, 4))) And Mid(E.Cells(1, 4), 1, Len(xlText)) = xlText Then       '¤ñ¹ïDÄ椤ªº¦r¦ê
  70.             ReDim Preserve AR(S)                            '­«·s°t¸m°ÊºA°}¦CÅܼƪºÀx¦sªÅ¶¡¡C
  71.             'Preserve:¿ï¾Ü©Ê¤Þ¼Æ¡C·í§ïÅܭ즳°}¦C³Ì«á¤@ºûªº¤j¤p®É¡A¤´µM«O¦³­ì¨Óªº¸ê®ÆªºÃöÁä¦r¡C
  72.             ReDim Ay(1 To E.Cells.Count)
  73.             For xi = 1 To E.Cells.Count                   '±N¤ñ¹ï¨ìªº¦C±q²Ä1Äæ ¨Ì§Ç¸m¤J°}¦C
  74.                 Ay(xi) = E.Cells(1, xi).Text
  75.             Next
  76.             AR(S) = Ay
  77.             S = S + 1                                       '¤U¤@­Ó¤ñ¹ï¨ìªº¦C ¤§°}¦C ¤¸¯À¯Á¤Þ­È
  78.         End If
  79.     Next
  80. End Sub
  81. Private Sub ¸m¤J¸ê®Æ()
  82.     Dim xi As Integer
  83.     With Wb(1).Sheets(¤u§@ï)                                  'µ{¦¡½X©Ò¦bªº¬¡­¶Ã¯
  84.         If S > 0 Then
  85.             .Range("B4").CurrentRegion.Offset(2).Clear                '²M°£Â¦³¸ê®Æ
  86.             For xi = 0 To S - 1
  87.                 .Range("B5").Offset(xi).Resize(1, UBound(AR(xi))).Value = AR(xi) '¨Ì§Ç¸m¤J ¤ñ¹ï¨ìªº¦C
  88.                 'UBound ¨ç¼Æ ¶Ç¦^ Long­È¡Aªí¥Ü«ü©w°}¦C¬Yºû³Ì¤j¥i¨Ï¥Îªº°}¦C¯Á¤Þ¡C
  89.             Next
  90.         Else
  91.             MsgBox "¬dµL ¸ê®Æ"
  92.         End If
  93.     End With
  94. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i°µ¤Hªº¶}©l¡j¨C¤@¤Ñ³£¬O¬G¤Hªº¶}©l¡A¨C¤@­Ó®É¨è³£¬O¦Û¤vªºÄµ±§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD