|
▼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
|
|