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

[µo°Ý] ¦p¦ó²£¥Í¤£¦P¦WºÙworksheet

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2011-10-21 11:57 ½s¿è

¦^´_ 5# Helain

    ¼Ó¥Dªº°ÝÃD~ §Ú¥H«e¤]¦³°Ý¹L~  
    ­Ó¤H¶K©«ªº³sµ²ÂI¸ê®Æ¦ç±ø¥ó ¤ÀSHEET
    ´£¨Ñ¤@­Óª©¤j­Ìªº³B²z¤âªk~ ¦Û¤v¦AºI¨ú©Ò»Ý­nªº³¡¥÷~ ¨Ó§¹¦¨ªºÀÉ®×~
    Data_VBA§¹¦¨ª©_1.rar (103.16 KB)
  1. Private Sub CommandButton1_Click()
  2. Macro5 '½Æ»s¶K¤WData¶×¾ã

  3. '=====±Æ§Ç====
  4. Range("B3").End(xlToRight).End(xlDown).Sort Key1:=Range("B3"), _
  5. Order1:=xlAscending, Key2:=Range("C3"), Order2:=xlAscending, Key3:=Range("E3"), Order3:=xlAscending, Header:=xlYes
  6. '=====±Æ§Ç====

  7. '=====¶i¶¥¿z¿ï====
  8.     Range("B2").Select
  9.     Range(Selection, Selection.End(xlDown)).Select
  10.     Range("B2:B256").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
  11.         "A2"), Unique:=True
  12. '=====¶i¶¥¿z¿ï====

  13. Dim N As Integer

  14. A = Application.CountA(Sheet2.[A3:A65536])  'A²Î­p¥X»Ý­n¶]´X­ÓSheet

  15. For N = 1 To A

  16.   Sheets.Add AFTER:=Worksheets(N + 1)           '·s¼Wsheet
  17.   ActiveSheet.Range("A1") = Sheet2.Range("B2")
  18.   ActiveSheet.Range("B1") = Sheet2.Cells(2 + N, 1)
  19.   ActiveSheet.Range("B2") = Sheet2.Range("E2")
  20.   
  21.     For K = 1 To 96
  22.     ActiveSheet.Cells(3 + Y, 1) = "POINT_" & K
  23.     ActiveSheet.Cells(3 + Y, 2) = 1
  24.     Y = Y + 1
  25.     Next
  26.     For K = 1 To 96
  27.     ActiveSheet.Cells(3 + Y, 1) = "POINT_" & K
  28.     ActiveSheet.Cells(3 + Y, 2) = 97
  29.     Y = Y + 1
  30.     Next
  31.     For K = 1 To 96
  32.     ActiveSheet.Cells(3 + Y, 1) = "POINT_" & K
  33.     ActiveSheet.Cells(3 + Y, 2) = 193
  34.     Y = Y + 1
  35.     Next
  36.     Y = 0
  37.   ActiveSheet.Name = Sheet2.Cells(2 + N, 1) 'Sheet2.Range("B2") & Sheet2.Cells(2 + N, 1) '¼ÐÅÒ¦WºÙ ¶È¼Ð¤W¼Æ¦r,­Y¦³»Ý­n½Ð§â=«á­±§ï¦^Sheet2.Range("B2") & Sheet2.Cells(2 + N, 1)
  38.    
  39.     Do Until Sheet2.Cells(3 + H, 2) = ""
  40.         If Sheet2.Cells(3 + H, 2) = Sheet2.Cells(2 + N, 1) Then
  41.             If ActiveSheet.Cells(2, 2 + Z) = Sheet2.Cells(3 + H, 3) Then
  42.                 Select Case Sheet2.Cells(3 + H, 5)
  43.                     Case 1
  44.                         For X = 1 To 96
  45.                         ActiveSheet.Cells(2 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  46.                         Next
  47.                     Case 97
  48.                         For X = 1 To 96
  49.                         ActiveSheet.Cells(98 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  50.                         Next
  51.                     Case 193
  52.                         For X = 1 To 96
  53.                         ActiveSheet.Cells(194 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  54.                         Next
  55.                 End Select
  56.             Else
  57.                 Z = Z + 1
  58.                 ActiveSheet.Cells(2, 2 + Z) = Sheet2.Cells(3 + H, 3)
  59.                 Select Case Sheet2.Cells(3 + H, 5)
  60.                     Case 1
  61.                         For X = 1 To 96
  62.                         ActiveSheet.Cells(2 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  63.                         Next
  64.                     Case 97
  65.                         For X = 1 To 96
  66.                         ActiveSheet.Cells(98 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  67.                         Next
  68.                     Case 193
  69.                         For X = 1 To 96
  70.                         ActiveSheet.Cells(194 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  71.                         Next
  72.                 End Select
  73.             End If
  74.         End If
  75.     H = H + 1
  76.     Loop

  77.     H = 0
  78.     Z = 0
  79.     ActiveSheet.Rows("2:2").Select
  80.     Selection.NumberFormatLocal = "yyyy/m/d"
  81. Next
  82. End Sub
½Æ»s¥N½X
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

        ÀR«ä¦Û¦b : ¤Ñ¤W³Ì¬ü¬O¬P¬P¡A¤H¥Í³Ì¬ü¬O·Å±¡¡C
ªð¦^¦Cªí ¤W¤@¥DÃD