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

[µo°Ý] ¤ñ¸û¸ê®Æ-§Q¥ÎVBAµ{¦¡¤ñ¸û¨â­Ó¸ê®ÆÀɮרðµ­pºâ

¦^´_ 2# Hsieh

·P®¦¤j¤jªº¦^À³¡I
(3/2)«á¨Ó´£°Ýªº°ÝÃD¬O¡G
A.xls
¶µ¦¸  ³W®æ  ³æ¦ì  ³æ»ù  ¼Æ¶q
   1     AA1   pcs    10    300
   2     AB2   pcs     20   35
   3     AC1   pcs     18   0
   4     AD2   pcs     10   52
   5     AE3    pcs     15   200
B.xls
¶µ¦¸  ³W®æ  ³æ¦ì  ¼Æ¶q
   1     A1     pcs    300
   2     B2     pcs     40
   3     E3     pcs     150
1.­º¥ý¥ý±NA¡BB¨â­ÓÀɮפÀ§O©ñ¦b¦P¤@­ÓÀɮסB¤£¦Pªº¤u§@ªí
    A¡BB¨â­ÓÀɮתº[³W®æ]¬O¬Û¦Pªº¡A
   ¥u¬O·íªì¦b«ØAÀɮ׮ɦb¨C¤@­Ó³W®æªº²Ä¤@½X¥[¤F¤@½X"A"¡A
   ¨ä¾l«á¤èªº³£¬Û¦P¡C
2.¦A±N¤ñ¸ûµ²ªG©ñ¦b²Ä¤T­Ó¤u§@ªí¡AÅã¥Ü¦p¤U¡G
   (§Æ±æ¦b²Ä¤T­Ó¤u§@ªí¤]¯à±NA¡BB¨âÀÉ®×Åã¥Ü¥X¨Ó)
³W®æ  ¼Æ¶q    ³W®æ  ¼Æ¶q     ³W®æ  ®t²§¼Æ(B.xla-A.xls)
A1     300     A1     300      A1       0
B2     35        B2     40         B2       5  
C1     0          E3      150      C1       0  
D2    52                                 D2       -52
E3     200                               E3       -50

TOP

¤j¤j½Ð°Ý¤@¤U¡G
1.±z©Ò»¡ªº¤@¯ë¼Ò²Õ¬O¦bModule¤U¶Ü¡H
2.©ñ¦b¼Ò²Õ¤U¡A¤£¥Î«Ø«ö¶sIJµo¶Ü¡H
¤£¦n·N«ä¡I
¦] ...
amychlo µoªí©ó 2013-2-23 19:35


1. ¹ï
2.¤£«Ø«ö¶sªº¸Ü,
¦bmodule¤WÂI¤W¥ô¦ó¤@¦æ, «ökeyboard "F5"Áä ¥i
©Î¦bexcel­¶­± "¶}µo¤H­û"µæ³æ->¥¨¶°->¿ï¤Wsub ->°õ¦æ
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

¤j¤j½Ð°Ý¤@¤U¡G
1.±z©Ò»¡ªº¤@¯ë¼Ò²Õ¬O¦bModule¤U¶Ü¡H
2.©ñ¦b¼Ò²Õ¤U¡A¤£¥Î«Ø«ö¶sIJµo¶Ü¡H
¤£¦n·N«ä¡I
¦]¬°­è±µÄ²vba©Ò¥H¤@¤ÁÁÙ¦bºN¯Á¤¤¡A
½Ð±z¦h¦h«ü±ÐÅo¡I
·P®¦

TOP

¦^´_ 1# amychlo

±Nµ{¦¡½X©ñ¦b·J¾ãªº¬¡­¶Ã¯¤@¯ë¼Ò²Õ
  1. Sub ·J¾ã()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. fd = ThisWorkbook.Path & "\" '3­ÓÀɮשñ¦b¦P¥Ø¿ý¤¤
  4. 'fd="D:\"  '«ü©wA¡BB2Àɮתº¦s©ñ¥Ø¿ý
  5. fs = Array("A.xls", "B.xls")
  6. d("³W®æ") = "¼Æ¶q"
  7. For Each f In fs
  8.    With Workbooks.Open(fd & f)
  9.       With .Sheets(1)
  10.       i = i + 1
  11.       .UsedRange.Copy ThisWorkbook.Sheets(i).[A1]
  12.       With ThisWorkbook.Sheets(i)
  13.           For Each a In .Range(.[A2], .[A2].End(xlDown))
  14.              If IsEmpty(d(a.Value)) Then d(a.Value) = a.Offset(, 1) Else d(a.Value) = a.Offset(, 1) - d(a.Value)
  15.           Next
  16.       End With
  17.       End With
  18.       .Close
  19.     End With
  20. Next
  21. With Sheets(3)
  22.    .[A1].Resize(d.Count, 1) = Application.Transpose(d.keys)
  23.    .[B1].Resize(d.Count, 1) = Application.Transpose(d.items)
  24. End With
  25. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : °µ¸Ó°µªº¨Æ¬O´¼¼z¡A°µ¤£¸Ó°µªº¨Æ¬O·Mè¡C
ªð¦^¦Cªí ¤W¤@¥DÃD