|    | 
     ▼トキノハジメ さん: 
 
>何故か機能しないのですが、何か不備があればおしえてください。 
 
>With Range("A3") 
>      Range("A3").AutoFilter Field:=1, Criteria1:=Worksheets(ShtName1).Range("E2").Value 
>      Range("B3").AutoFilter Field:=2, Criteria1:=Worksheets(ShtName1).Range("H2").Value 
>      .CurrentRegion.Copy Range("A41") 
>      .AutoFilter 
>    End With 
 
たとえば、2つ目のAutoFilter 
>  Range("B3").AutoFilter Field:=2 
は、B列からみて Field:=2 なので C列のことですよ。 
 
適当に直すと 
Dim ws2 As Worksheet 
Set ws2 = Worksheets(ShtName1) 
 With ActiveSheet.Range("A3").Currentregion 
   .Worksheet.AutoFilterMode = False 
   .AutoFilter Field:=1, Criteria1:=ws2.Range("E2").Value 
   .AutoFilter Field:=2, Criteria1:=ws2.Range("H2").Value 
   .Copy ActiveSheet.Range("A41") 
   .AutoFilter 
>End With 
 
なお、 
.Range("A3").Currentregion 
で、3行目が先頭見出し行にならないときは、別の方法でFilter範囲を 
取得する必要があります。 
 | 
     
    
   |