|
▼kanabun さん:アドバイスありがとうございます。
コードを埋め込んだところ、
Dim ws2 As Worksheet
Set ws2 = Worksheets(ShtName1)
Worksheets のところが黒くなって配列がありません。 とでるのですが
Dim Worksheets As String
Dim ShtName As String, ShtName1 As String
上記は記述していのですが、
調べましたがよくわかりません。
もう少し教えてください。
>>何故か機能しないのですが、何か不備があればおしえてください。
>
>>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範囲を
>取得する必要があります。
|
|