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

[µo°Ý] ½Ð°Ý¦p¦ó¤À§O¼¶¼gVBA¡A¨Ï¯S©w¤u§@ªíªº¯S©w­È¦X¨Ö¡A¦A§ì¯S©w­È¦^­ì©lÀÉ

¦^´_ 3# sax868
½T¹êµLªk¤F¸Ñ§Aªº»Ý¨D
°õ¦æ¥H¤Uµ{§Ç¡A¦Û°Ê¥Í¦¨·s¤u§@ªí¡A±o¨ìUpdated Dataªº¸ê®Æ
¦A¨Ó°Q½×§Aªº²Ä2­Ó°ÝÃD
  1. Sub Ex()
  2. Dim Sh As Worksheet, Ar()
  3. For Each Sh In Sheets
  4. With Sh
  5.   If UBound(Filter(Array("Currency", "DATA", "Updated Data"), .Name, True)) < 0 Then
  6.   ReDim Preserve Ar(57, x)
  7.   If IsEmpty(Ar(0, 0)) Then
  8.      Ar(0, x) = .[B1].Value: Ar(1, x) = .[B2].Value: Ar(2, x) = .[D1].Value
  9.      s = 3
  10.      For Each a In .[A11:BB11].Value
  11.         Ar(s, x) = a
  12.         s = s + 1
  13.      Next
  14.      x = x + 1
  15.    End If
  16.    r = 12
  17.    Do Until .Cells(r, 1) = ""
  18.       ReDim Preserve Ar(57, x)
  19.          Ar(0, x) = .[C1].Value: Ar(1, x) = .[C2].Value: Ar(2, x) = .[E1].Value
  20.          s = 3
  21.          For Each a In .Range(.Cells(r, "A"), .Cells(r, "BB")).Value
  22.             Ar(s, x) = a
  23.             s = s + 1
  24.          Next
  25.          x = x + 1: r = r + 1
  26.    Loop
  27.   
  28.   End If
  29. End With
  30. Next
  31. With Sheets.Add(after:=Sheets(Sheets.Count))
  32. .[A1].Resize(x, 57) = Application.Transpose(Ar)
  33. End With
  34. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 6# sax868


    ³o¤@¦æ¬O¼g¤J­Èªº¤èªk
¥X²{¿ù»~¥i¯à¬OX=0§a
§â¥X²{¿ù»~ªºÀɮפW¶Ç¬Ý¬Ý
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 8# sax868
³oºØ°ÝÃD±`µo¥Í¦b°}¦C¤¸¯Àªº¦r¤¸¼Æ¶W¹L256­Ó¦r¤¸©Ò²£¥Í
¾É­PµLªk¥¿½T¾Þ§@°}¦CÂà¸m
§ï¦¨¤@¤@µ¹­È´N¥i¥H
  1.      x = x + 1
  2.    End If
  3.    r = 12
  4.    Do Until .Cells(r, 1) = ""
  5.       ReDim Preserve Ar(57, x)
  6.          Ar(0, x) = .[C1].Value: Ar(1, x) = .[C2].Value: Ar(2, x) = .[E1].Value
  7.          s = 3
  8.          For Each a In .Range(.Cells(r, "A"), .Cells(r, "BB")).Value
  9.             Ar(s, x) = a
  10.             s = s + 1
  11.          Next
  12.          x = x + 1: r = r + 1
  13.    Loop
  14.   End If
  15. End With
  16. Next
  17. With Sheets.Add(after:=Sheets(Sheets.Count))
  18. For i = 0 To UBound(Ar, 2)
  19.    For j = 0 To 56
  20.    .[A1].Offset(i, j) = Ar(j, i)
  21.    Next
  22. Next
  23. End With
  24. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 11# sax868
¬O­n§â"Updated Data"¹ïÀ³ªº­È¼g¤J¨C­Ó¤u§@ªíªº12¦C¥H¤U¤§AUÄæ¶Ü?
  1. Sub Ex()
  2. Dim Sh As Worksheet, Ar()
  3. Set d = CreateObject("Scripting.Dictionary") '³Ð«Ø¦r¨åª«¥óÀx¦s"Updated Data"¹ïÀ³ªº­È
  4. For Each Sh In Sheets
  5. With Sheets("Updated Data")
  6.    For Each a In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  7.      d(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 49).Value '¥HA¡BD¡BM¬°¯Á¤Þ¦s¤JAXÄæ¦ìªº­È
  8.     Next
  9. End With
  10. With Sh
  11.   If UBound(Filter(Array("Currency", "DATA", "Updated Data"), .Name, True)) < 0 Then '°£¤F³o¨Ç¤u§@ªí¥H¥~°õ¦æ
  12.   ReDim Preserve Ar(57, x) 'ÂX¼W°}¦C
  13.   If IsEmpty(Ar(0, 0)) Then '¡A¦pªG°}¦CÁÙ¨S«Ø¥ß¥ý¼g¤J¼ÐÃD¦C
  14.      Ar(0, x) = .[B1].Value: Ar(1, x) = .[B2].Value: Ar(2, x) = .[D1].Value
  15.      s = 3
  16.      For Each a In .[A11:BB11].Value
  17.         Ar(s, x) = a
  18.         s = s + 1
  19.      Next
  20.      x = x + 1
  21.    End If
  22.    r = 12 '±q²Ä12¦C¥H¤U¶}©lŪ¤J¸ê®Æ¨ì°}¦C¤¤
  23.    Do Until .Cells(r, 1) = "" 'ª½¨ìAÄ欰ªÅ¥Õ¬°¤î
  24.       ReDim Preserve Ar(57, x)
  25.          Ar(0, x) = .[C1].Value: Ar(1, x) = .[C2].Value: Ar(2, x) = .[E1].Value
  26.          s = 3
  27.          For Each a In .Range(.Cells(r, "A"), .Cells(r, "BB")).Value '±NA:BBÄæ¦ìŪ¤J°}¦C
  28.             Ar(s, x) = a
  29.             s = s + 1
  30.          Next
  31.          .Cells(r, "AU") = d(Ar(0, x) & Ar(3, x) & Ar(12, x)) '±N¤u§@ªíªºAUÄæ¦ì¼g¤J¹ïÀ³ªºUpdated Data­È
  32.          x = x + 1: r = r + 1 '¤U¤@¦C
  33.    Loop
  34.   
  35.   End If
  36. End With
  37. Next
  38. With Sheets.Add(after:=Sheets(Sheets.Count)) '·s¼W¤u§@ªí©ó³Ì«á
  39. For i = 0 To UBound(Ar, 2)
  40.    For j = 0 To 56
  41.    .[A1].Offset(i, j) = Ar(j, i) '¤@¤@±N°}¦C¤¸¯À¼g¤JÀx¦s®æ
  42.    Next
  43. Next
  44. End With
  45. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 13# sax868
  1. Sub InputData()
  2. Dim Sh As Worksheet, Ar()
  3. Set d = CreateObject("Scripting.Dictionary") '³Ð«Ø¦r¨åª«¥óÀx¦s"Updated Data"¹ïÀ³ªº­È
  4. Set d1 = CreateObject("Scripting.Dictionary") '³Ð«Ø¦r¨åª«¥óÀx¦s"Updated Data"¹ïÀ³ªº­È

  5. With Sheets("Updated Data")
  6.    For Each a In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
  7.      d(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 49).Value '¥HA¡BD¡BM¬°¯Á¤Þ¦s¤JAXÄæ¦ìªº­È
  8.      d1(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 37).Value '¥HA¡BD¡BM¬°¯Á¤Þ¦s¤JALÄæ¦ìªº­È
  9.    Next
  10. End With
  11. For Each Sh In Sheets
  12. With Sh
  13.    r = 12 '±q²Ä12¦C¥H¤U¶}©lŪ¤J¸ê®Æ¨ì°}¦C¤¤
  14.    Do Until .Cells(r, 1) = "" 'ª½¨ìAÄ欰ªÅ¥Õ¬°¤î
  15.          .Cells(r, "AU") = d(.[C1] & .Cells(r, "A") & .Cells(r, "J")) '±N¤u§@ªíªºAUÄæ¦ì¼g¤J¹ïÀ³ªºUpdated Data­È
  16.          .Cells(r, "AI") = d1(.[C1] & .Cells(r, "A") & .Cells(r, "J")) '±N¤u§@ªíªºAIÄæ¦ì¼g¤J¹ïÀ³ªºUpdated Data­È
  17.           r = r + 1 '¤U¤@¦C
  18.    Loop
  19. End With
  20. Next
  21. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2012-5-10 19:50 ½s¿è

¦^´_ 16# sax868
  1. Sub InputData()

  2. Dim Sh As Worksheet, Ar()

  3. Set d = CreateObject("Scripting.Dictionary")

  4. Set d1 = CreateObject("Scripting.Dictionary")


  5. With Sheets("Updated Data")

  6.    For Each a In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))

  7.     If a.Offset(, 49) <> "" Then d(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 49).Value   'AX¦³­È¤~°õ¦æ

  8.     If a.Offset(, 37) <> "" Then d1(a & a.Offset(, 3) & a.Offset(, 12)) = a.Offset(, 37).Value   'AL¦³­È¤~°õ¦æ

  9.    Next

  10. End With

  11. For Each Sh In Sheets

  12. With Sh

  13.    r = 12

  14.    Do Until .Cells(r, 1) = ""

  15.          .Cells(r, "AU") = d(.[C1] & .Cells(r, "A") & .Cells(r, "J"))

  16.          .Cells(r, "AI") = d1(.[C1] & .Cells(r, "A") & .Cells(r, "J"))

  17.           r = r + 1

  18.    Loop

  19. End With

  20. Next

  21. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 19# sax868
¦Ü©ó§A¾ãÅé¬yµ{§Ú¨Ã¤£²M·¡
¦Û°Ê¦sÀÉ¥i°Ñ¦Ò¤U­±³sµ²
¦Û­qApplicatoin¨Æ¥ó/ºÊ±±©Ò¦³¬¡­¶Ã¯/°µ¦¨¼W¯q¶°
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¹ï¤÷¥À­nª¾®¦¡A·P®¦¡B³ø®¦¡C
ªð¦^¦Cªí ¤W¤@¥DÃD