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

[µo°Ý] ¼W¥[¦P¦WºÙ¤u§@ªí¨Ã±N¸ê®Æ½Æ»s¨ì·s¤u§@ªí

  1. Sub Ex()
  2. Dim Sht(), Rng As Range, Ar(), A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. For Each sh In Sheets
  6. ReDim Preserve Sht(s)
  7. Sht(s) = sh.Name
  8. s = s + 1
  9. Next
  10. With ¤u§@ªí1
  11. Set Rng = .[B2:O3]
  12. For Each A In .Range(.[D5], .[D5].End(xlDown))
  13.    d1(A.Value) = d1(A.Value) + 1
  14.    If IsEmpty(d(A.Value)) Then
  15.    ReDim Preserve Ar(0)
  16.    Ar(0) = Array(d1(A.Value), A.Offset(, -1).Value, A.Value, A.Offset(, 1).Value, A.Offset(, 2).Value, A.Offset(, 3).Value, A.Offset(, 4).Value, A.Offset(, 5).Value, A.Offset(, 6).Value, A.Offset(, 7).Value, A.Offset(, 8).Value, A.Offset(, 9).Value, A.Offset(, 10).Value, A.Offset(, 11).Value)
  17.    d(A.Value) = Ar
  18.    Else
  19.    Ar = d(A.Value)
  20.    k = UBound(Ar)
  21.    ReDim Preserve Ar(k + 1)
  22.    Ar(k + 1) = Array(d1(A.Value), A.Offset(, -1).Value, A.Value, A.Offset(, 1).Value, A.Offset(, 2).Value, A.Offset(, 3).Value, A.Offset(, 4).Value, A.Offset(, 5).Value, A.Offset(, 6).Value, A.Offset(, 7).Value, A.Offset(, 8).Value, A.Offset(, 9).Value, A.Offset(, 10).Value, A.Offset(, 11).Value)
  23.    d(A.Value) = Ar
  24.    End If
  25. Next
  26. End With
  27. For Each ky In d.keys
  28.   If IsError(Application.Match(ky, Sht, 0)) Then
  29.   With Worksheets.Add(after:=Sheets(Sheets.Count))
  30.   .Name = ky
  31.   End With
  32.   End If
  33.   With Sheets(ky)
  34.   .Cells.Clear
  35.   .[F:G].NumberFormat = "h:m"
  36.   Rng.Copy .[B2]
  37.   Ar = d(ky)
  38.   With .[B4].Resize(UBound(d(ky)) + 1, 14)
  39.   .Value = Application.Transpose(Application.Transpose(Ar))
  40.   .Borders.LineStyle = 1
  41.   End With
  42.   End With
  43. Next
  44. End Sub
½Æ»s¥N½X
¦^´_ 1# b9208
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¥Í®ð¡A´N¬O®³§O¤Hªº¹L¿ù¨ÓÃg»@¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD