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

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

¥»©«³Ì«á¥Ñ register313 ©ó 2012-3-4 23:57 ½s¿è
  1. Sub Filter()
  2. Sheets("Á`ªí").Select
  3. C = Sheets("Á`ªí").[B65536].End(xlUp).Row
  4. D = Sheets("¸ê®Æ®w").[E65536].End(xlUp).Row
  5. Rng2 = Sheets("¸ê®Æ®w").Range("E4:E" & D)
  6. With Sheets("Á`ªí")
  7.   For Each R In Rng2
  8.      For Each sh In ThisWorkbook.Sheets
  9.        Application.DisplayAlerts = False
  10.        If sh.Name = R Then
  11.           sh.Delete
  12.        End If
  13.        Application.DisplayAlerts = True
  14.      Next
  15.      Set sh = Sheets.Add(after:=Sheets(Sheets.Count))
  16.      sh.Name = R
  17.      .Range("B4:O" & C).AutoFilter Field:=3, Criteria1:=R
  18.      If .FilterMode Then
  19.         .AutoFilter.Range.SpecialCells(12).Copy Sheets(R).Cells(3, 2)
  20.         .Rows("2:3").Copy Sheets(R).Cells(2, 1)
  21.      End If
  22.      Sheets(R).Select
  23.      For Each A In Range("D4:D" & [D65536].End(xlUp).Row)
  24.          If A <> "" Then
  25.             A.Offset(0, -2) = A.Row - 3
  26.          End If
  27.      Next
  28.   Next
  29.   .Range("B4:O" & C).AutoFilter
  30. End With
  31. End Sub
½Æ»s¥N½X

TOP

¦^´_ 6# b9208
²¤§@­×§ï
  1. Sub Filter()
  2. Sheets("Á`ªí").Select
  3. C = Sheets("Á`ªí").[B65536].End(xlUp).Row
  4. D = Sheets("¸ê®Æ®w").[E65536].End(xlUp).Row
  5. Rng2 = Sheets("¸ê®Æ®w").Range("E4:E" & D)
  6. With Sheets("Á`ªí")
  7.   For Each R In Rng2
  8.      For Each sh In ThisWorkbook.Sheets
  9.        Application.DisplayAlerts = False
  10.        If sh.Name = R Then
  11.           sh.Delete
  12.        End If
  13.        Application.DisplayAlerts = True
  14.      Next
  15.      Set sh = Sheets.Add(after:=Sheets(Sheets.Count))
  16.      sh.Name = R
  17.      .Range("B4:O" & C).AutoFilter Field:=3, Criteria1:=R
  18.      If .FilterMode Then
  19.         .AutoFilter.Range.SpecialCells(12).Copy Sheets(R).Cells(3, 2)
  20.         .Rows("2:3").Copy Sheets(R).Cells(2, 1)
  21.      End If
  22.      Sheets(R).Select
  23.      For Each A In Range("D4:D" & [D65536].End(xlUp).Row)
  24.          If A <> "" Then
  25.             A.Offset(0, -2) = A.Row - 3
  26.          End If
  27.      Next
  28.   Next
  29.   .Range("B4:O" & C).AutoFilter
  30. End With
  31. End Sub
½Æ»s¥N½X
WORK.rar (22.12 KB)

TOP

        ÀR«ä¦Û¦b : ­n¥Î¤ß¡A¤£­n¾Þ¤ß¡B·Ð¤ß¡C
ªð¦^¦Cªí ¤W¤@¥DÃD