| 
    
     |  | ▼YUKI さん: 
 とにかく、コメントしている通りよくわかりませんが、だめもとで。
 "5" と "6" の転記先がわからないので適当にしておきました。
 
 Sub 貼り付け()
 Dim i As Integer
 Dim shF As Worksheet
 '
 '
 '
 Application.ScreenUpdating = False
 
 '  On Error Resume Next  '何のためのコードですか??
 
 
 For i = 16 To 30
 
 With Sheets(i)
 Set shF = Sheets(i - 15)
 .AutoFilterMode = False
 .Range("A1", .UsedRange).Offset(40).AutoFilter
 '3
 .AutoFilter.Range.AutoFilter Field:=8, Criteria1:="3"
 If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
 .AutoFilter.Range.Copy shF.Range("A35")
 End If
 
 '4
 .AutoFilter.Range.AutoFilter Field:=8, Criteria1:="4"
 If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
 .AutoFilter.Range.Copy shF.Range("Q35")
 End If
 '5
 .AutoFilter.Range.AutoFilter Field:=8, Criteria1:="5"
 If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
 .AutoFilter.Range.Copy shF.Range("AG35")
 End If
 '6
 .AutoFilter.Range.AutoFilter Field:=8, Criteria1:="6"
 If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
 .AutoFilter.Range.Copy shF.Range("AW35")
 End If
 .AutoFilterMode = False
 End With
 
 DoEvents
 Next
 '
 '
 '  Erase DynamicArray
 Sheets(16).Select
 Application.ScreenUpdating = True
 
 End Sub
 
 |  |