|
kanabun さん:
また質問ですいませんです。
>>AutoFilterで、複数列(4列目と6列目)を抽出コピーだと、
>>4列目をAutoFilterかけて転記してから、いったん.AutoFilter解除して、
>>改めて 6列目にフィルタかけ、最初に転記したデータのあとに追加する
>>ということになり、手間が増えるので、
>>
>>同じフィルタでもフィルタオプションによる抽出コピーのほうが
>>簡単で速そうです。
>>
>>Private Sub CommandButton110_Click()
>> Dim ss As String
>> Dim fRange As Range
>> Dim cRange As Range
>> Dim CopyTo As Range
>> Dim s1 As String, s2 As String
>>
>> ss = TextBox76.Text
>> ss = "*" & ss & "*"
>> With Worksheets("DATA")
>> Set fRange = .Range("A1").CurrentRegion 'フィルタ範囲
>> Set cRange = .Range("AA1") '抽出条件範囲先頭セル
>> s1 = .Range("D1").Value 'D列見出し
>> s2 = .Range("F1").Value 'F列見出し
>> End With
>> If WorksheetFunction.CountIf(fRange.Columns("D:F"), ss) > 0 Then
>> Set CopyTo = Worksheets("WAREA")
>> CopyTo.Parent.UsedRange.ClearContents
>> 'cRange に抽出条件をセット
>> cRange.CurrentRegion.ClearContents
>> cRange(1, 1).Value = s1
>> cRange(1, 2).Value = s2
>> cRange(2, 1).Value = "'=" & ss
>> cRange(3, 2).Value = "'=" & ss
>> 'フィルタオプションによる抽出コピーの実行
>> fRange.AdvancedFilter xlFilterCopy, _
>> CriteriaRange:=cRange.CurrentRegion, _
>> CopyToRange:=CopyTo
>> End If
>>
>>End Sub
>
>返事が遅れすいませんです。風邪で昨日まで休みを取っていました。
>
>Private Sub CommandButton110_Click()
> Dim ss As String
> Dim fRange As Range
> Dim cRange As Range
> Dim CopyTo As Range
> Dim s1 As String, s2 As String
>
> ss = TextBox76.Text
> ss = "*" & ss & "*"
> With Worksheets("DATA")
> Set fRange = .Range("A1").CurrentRegion 'フィルタ範囲
> Set cRange = .Range("AA1") '抽出条件範囲先頭セル
> s1 = .Range("D1").Value 'D列見出し
> s2 = .Range("F1").Value 'F列見出し
> End With
> If WorksheetFunction.CountIf(fRange.Columns("D:F"), ss) > 0 Then
> Set CopyTo = Worksheets("WAREA")
> CopyTo.Parent.UsedRange.ClearContents
> 'cRange に抽出条件をセット
> cRange.CurrentRegion.ClearContents
> cRange(1, 1).Value = s1
> cRange(1, 2).Value = s2
> cRange(2, 1).Value = "'=" & ss
> cRange(3, 2).Value = "'=" & ss
> 'フィルタオプションによる抽出コピーの実行
> fRange.AdvancedFilter xlFilterCopy, _
> CriteriaRange:=cRange.CurrentRegion, _
> CopyToRange:=CopyTo
> End If
>
>End Sub
>
また、質問ですいません
分からないところがあるのでご指導お願いします
'cRange に抽出条件をセット
cRange.CurrentRegion.ClearContents
cRange(1, 1).Value = s1
cRange(1, 2).Value = s2
ですが、(1,1)は1行目1列から検索という意味でしょうか・・?
また同様に
cRange(2, 1).Value = "'=" & ss
は2行目1列目から検索という意味でしょうか?
ご指導お願いします。
ちなみに検索対象データは2列目からになります。
何度もすいません。
|
|