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

¸ê®Æ¨Ì±ø¥ó ¤ÀSHEET

¸ê®Æ¨Ì±ø¥ó ¤ÀSHEET

Dear ¤j¤j­Ì~
        ªþ¥ó¬OÀ°¾Ç§Ì©f§¹¦¨ªºÀÉ®×
     ¥i¥H¹F¨ì»Ý¨D ¦ý¦³¤@­Ó¯ÊÂI´N¬O­Y¦A«ö¤@¦¸"¶×¥X"ªº«ö¶s~ ·|¦³[¼ÐÅÒ¦WºÙ]¤@¼Ë~ ²£¥Í¿ù»~
     ¾ã­Ó¼¶¼g¤W¤]¤£¬O«Ü¦n~
        ¨ä±ø¥ó«Ü²³æ,¥D­n¬O
      by Item_ID ¬°¤À­¶±ø¥ó
         ¥t¥~¨â­Ó
         by Point_OFFSET
         by Data_Date
         ¦b¦P¤@¤Ñ¤¤,±NPoint_OFFSET (¦@¤T¯¸)ªº¸ê®Æª½¦C©ñ¦b¤@°_

        ·Q½Ð­Ó¦ì¤j¤j~ ¬O§_¦³§ó¦nªº¼gªk~ ¨Ñ¤p§Ì°Ñ¦Ò¾Ç²ß
       Data_VBA§¹¦¨ª©.rar (81.29 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-3-22 15:17 ½s¿è

¦^´_ 1# hugh0620
¤èªk¤@  §R±¼¤u§@ªí
  1. Sub Ex()
  2.     Dim Sh As Worksheet
  3.     Application.DisplayAlerts = False
  4.     For Each Sh In Sheets
  5.         If Sh.Name <> "Data¶×¾ã" And Sh.Name <> "­ì©lData" Then Sh.Delete
  6.     Next
  7.     Application.DisplayAlerts = True
  8. End Sub
½Æ»s¥N½X
¤èªk¤G °£¿ù
  1. Dim N As Integer
  2. A = Application.CountA(Sheet2.[A3:A65536])  'A²Î­p¥X»Ý­n¶]´X­ÓSheet
  3. On Error GoTo Sheet_Add      '¦³¿ù»~¨ì ¦æ¸¹     Sheet_Add
  4. For N = 1 To A
  5.     'Sheets.Add AFTER:=Worksheets(N + 1)           '·s¼Wsheet
  6.         Sheets("" & N).Activate                      '''
  7.         Sheets("" & N).Cells.Clear                  '''
  8.         ActiveSheet.Range("A1") = Sheet2.Range("B2")
  9.         ActiveSheet.Range("B1") = Sheet2.Cells(2 + N, 1)
  10.         ActiveSheet.Range("B2") = Sheet2.Range("E2")
  11.   '
  12.   '
  13.   '
  14.     Do
  15.    
  16.     Loop

  17.     H = 0
  18.     Z = 0
  19.     ActiveSheet.Rows("2:2").Select
  20.     Selection.NumberFormatLocal = "yyyy/m/d"
  21. Next
  22. Exit Sub
  23. Sheet_Add:              '¦æ¸¹
  24. With Sheets.Add(AFTER:=Worksheets(N + 1))            '·s¼Wsheet
  25.     .Name = Sheet2.Cells(2 + N, 1)    '¼ÐÅÒ¦WºÙ
  26. End With
  27. Resume Next                  'ªð¦^¿ù»~³B
  28. End Sub
½Æ»s¥N½X
Macro5()ªºÂ²¤Æ
  1. Sub Macro5() '½Æ»s¶K¤WData¶×¾ã
  2.     Sheet1.Range("A2").CurrentRegion.Copy Sheet2.Range("B2")
  3. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2011-3-22 18:53 ½s¿è

·PÁ¤j¤jGBKEE ªº¦^´_­ò~ ¥[¤W¤@­Ó§R°£¶s~ ¥i¥Hµ²¬Ù±¼§R°£sheetªº°Ê§@~
    ½Æ»sªº³¡¥÷~ ¤]²¤Æ~ ¤]¯à°÷²z¸Ñ~
    ¨Ï¾ã­Ó§ó§¹¾ã¾Þ§@¤W§ó²¤Æ¤]²«K³\¦h~

    ¦ý¬O¤j¤j~ °£¿ùªº³¡¥÷~ ¦³´ú¸Õ¹L~ ¦ý²£¥Í¿ù»~­ò~
    ³y¦¨Data¶×¾ãªºsheet ¸ê®Æ³QÂл\
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 3# hugh0620
½Ð¶ÇÀɤW¨Ó¬Ý¬Ý

TOP

¦^´_ 4# GBKEE


    ¤j¤j~ °õ¦æªºµ²ªG·|¥d¦b²£¥Í²Ä21 Sheet ®É~ ·|¦³¿ù»~
   ¿ù»~²£¥Í®É~ ­È¦æ¨ì²Ä26¦æ«ü¥O
   26.    .Name = Sheet2.Cells(2 + N, 1)    '¼ÐÅÒ¦WºÙ
   ¦pªþ¥ó
    Data_VBA§¹¦¨ª©_2.rar (102.04 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-3-23 11:17 ½s¿è

¦^´_ 5# hugh0620
Data¶×¾ã ªº¤u§@ªí§Ç¸¹¤£³sÄò  18,19,21,22 ¯Ê 20
§ï¬° Sheet2.Cells(2 + N, 1).Text
For N = 1 To A
  'Sheets.Add AFTER:=Worksheets(N + 1)           '·s¼Wsheet
  Sheets(Sheet2.Cells(2 + N, 1).Text).Activate                      '''
  Sheets(Sheet2.Cells(2 + N, 1).Text).Cells.Clear
­×§ï§Aªºµ{¦¡¦p¤U
  1. Private Sub CommandButton1_Click()
  2.     Dim N As Integer, E
  3.     CommandButton2_Click
  4.     With Sheets("Data¶×¾ã")
  5.         Sheets("­ì©lData").Range("A2").CurrentRegion.Copy .Range("B2")
  6.      '=====±Æ§Ç====
  7.         .Range("B3").End(xlToRight).End(xlDown).Sort Key1:=.Range("B3"), _
  8. Order1:=xlAscending, Key2:=.Range("C3"), Order2:=xlAscending, Key3:=.Range("E3"), Order3:=xlAscending, Header:=xlYes
  9. '=====±Æ§Ç====
  10. '=====¶i¶¥¿z¿ï====
  11. '    .Range("B2").Select
  12. '   Range(Selection, Selection.End(xlDown)).Select
  13.     .Range("B2:B256").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
  14.         "A2"), Unique:=True
  15. '=====¶i¶¥¿z¿ï====
  16.     End With
  17. On Error GoTo Sheet_Add      '¦³¿ù»~¨ì ¦æ¸¹     Sheet_Add
  18. A = Application.CountA(Sheet2.[A3:A65536])  'A²Î­p¥X»Ý­n¶]´X­ÓSheet
  19. For N = 1 To A
  20.     Sheets(Sheet2.Cells(2 + N, 1).Text).Select
  21.     With ActiveSheet
  22.         .Cells.Clear                  '''
  23.         .Range("A1") = Sheets("Data¶×¾ã").Range("B2")
  24.         .Range("B1") = Sheets("Data¶×¾ã").Cells(2 + N, 1)
  25.         .Range("B2") = Sheets("Data¶×¾ã").Range("E2")
  26.         For Each E In Array(1, 97, 193)
  27.             With .Cells(Rows.Count, 1).End(xlUp).Offset(1)
  28.                 .Cells(1) = "POINT_1"
  29.                 .Cells(2) = "POINT_2"
  30.                 .Cells.Resize(2).AutoFill .Cells.Resize(96)
  31.                 .Cells(1, 2).Resize(96) = E
  32.             End With
  33.         Next
  34.     End With
  35.     Do Until Sheet2.Cells(3 + H, 2) = ""
  36.         If Sheet2.Cells(3 + H, 2) = Sheet2.Cells(2 + N, 1) Then
  37.             If ActiveSheet.Cells(2, 2 + Z) = Sheet2.Cells(3 + H, 3) Then
  38.                 Select Case Sheet2.Cells(3 + H, 5)
  39.                     Case 1
  40.                         For X = 1 To 96
  41.                         ActiveSheet.Cells(2 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  42.                         Next
  43.                     Case 97
  44.                         For X = 1 To 96
  45.                         ActiveSheet.Cells(98 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  46.                         Next
  47.                     Case 193
  48.                         For X = 1 To 96
  49.                         ActiveSheet.Cells(194 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  50.                         Next
  51.                 End Select
  52.             Else
  53.                 Z = Z + 1
  54.                 ActiveSheet.Cells(2, 2 + Z) = Sheet2.Cells(3 + H, 3)
  55.                 Select Case Sheet2.Cells(3 + H, 5)
  56.                     Case 1
  57.                         For X = 1 To 96
  58.                         ActiveSheet.Cells(2 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  59.                         Next
  60.                     Case 97
  61.                         For X = 1 To 96
  62.                         ActiveSheet.Cells(98 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  63.                         Next
  64.                     Case 193
  65.                         For X = 1 To 96
  66.                         ActiveSheet.Cells(194 + X, 2 + Z) = Sheet2.Cells(3 + H, 5 + X)
  67.                         Next
  68.                 End Select
  69.             End If
  70.         End If
  71.     H = H + 1
  72.     Loop
  73.     H = 0
  74.     Z = 0
  75.     'ActiveSheet.Rows ("2:2")
  76.     'Selection.NumberFormatLocal = "yyyy/m/d"
  77.     ActiveSheet.Rows("2:2").NumberFormatLocal = "yyyy/m/d"
  78. Next
  79. Exit Sub
  80. Sheet_Add:              '¦æ¸¹
  81. If Err <> 9 Then
  82.     MsgBox "¿ù»~­È " & Err & "   ½ÐÀˬd¿ù»~ !!!"
  83.     Exit Sub
  84. End If
  85. With Sheets.Add(AFTER:=Worksheets(N + 1))            '·s¼Wsheet
  86.     .Name = Sheet2.Cells(2 + N, 1)    '¼ÐÅÒ¦WºÙ
  87. End With
  88. Resume Next                  'ªð¦^¿ù»~³B
  89. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤@¥y·Å·xªº¸Ü¡A´N¹³©¹§O¤H¨­¤WÅx­»¤ô¡A¦Û¤v·|ªg¨ì¨â¤Tºw¡C
ªð¦^¦Cªí ¤W¤@¥DÃD