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

¤j¶q¸ê®Æ¤ñ¹ï»P¦X¨Ö

  1. Sub ex()
  2. Dim ar()
  3. Set D = CreateObject("Scripting.Dictionary")
  4. Application.ScreenUpdating = False
  5. With Sheets.Add
  6. For Each sh In Sheets(Array("01", "02", "03", "04"))
  7.     ReDim Preserve ar(s)
  8.     ar(s) = sh.[A1].CurrentRegion.Address(, , xlR1C1, 1)
  9.     s = s + 1
  10. Next
  11. .Range("A1").Consolidate Sources:=ar, Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
  12. For Each a In .Range(.[B1], .[IV1].End(xlToLeft))
  13.   If IsEmpty(D(Split(a, "-")(0))) Then
  14.      Set D(Split(a, "-")(0)) = a.Resize(.UsedRange.Rows.Count, 1)
  15.      Else
  16.      Set D(Split(a, "-")(0)) = Union(a.Resize(.UsedRange.Rows.Count, 1), D(Split(a, "-")(0)))
  17.   End If
  18. Next
  19. Set Rng = .Range(.[A1], .[A65536].End(xlUp))
  20. For Each ky In D.keys
  21.    With Sheets("SUM-" & ky)
  22.      Rng.Copy .[A1]
  23.      D(ky).Copy .[B1]
  24.    End With
  25. Next
  26. Application.DisplayAlerts = False
  27. .Delete
  28. Application.DisplayAlerts = True
  29. End With
  30. Application.ScreenUpdating = True
  31. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¤H¥Í¨S¦³©Ò¦³Åv¡A¥u¦³¥Í©Rªº¨Ï¥ÎÅv¡C
ªð¦^¦Cªí ¤W¤@¥DÃD