| 
    
     |  | ▼kanabun さん: 早々のご指導ありがとうございます。
 これより試してみますので、またうまく動作しないようでしたら
 質問いたします。
 どうもありがとうございます。
 >▼フィルター さん:
 >
 >>エラーが
 >>コンパイルエラー
 >>参照が不正または不完全です
 >>
 >>Private Sub CommandButton42_Click()が黄色になり
 >>
 >>.Rangeが青い色でした、
 >
 >なぜだか、わかりますか?
 >。。。。。。。。。。。。。。。。
 >
 >> .Range
 >と、Rangeのまえにピリオド(.)が付いていますね?
 >これは、それ以前に With句を使って 親であるシートを指定していて、
 >>  With Worksheets("DATA")
 >.Range の (.)は With句で宣言された Worksheets("DATA") が(.)の前につく
 >ことを意味しているのに、
 >修正後の構文では .Range の前に With 句が宣言されていないからです。
 >
 >それらの .Range を
 > With Worksheets("DATA")
 >   :
 > End With
 >ブロックの中に移動してください。。。
 >
 >>>  With Worksheets("DATA")
 >>>    Set fRange = .Range("A1").CurrentRegion 'フィルタ範囲
 >>>    Set cRange = .Range("AO1")    '抽出条件範囲先頭セル
 >>>    'cRange に抽出条件をセット
 >>>    cRange.CurrentRegion.ClearContents
 >>>    cRange(1, 1).Value = .Range("F1").Value   'F列見出し
 >>>    cRange(1, 2).Value = .Range("L1").Value   'L列見出し
 >>>    cRange(1, 3).Value = .Range("R1").Value   'R列見出し
 >>>    cRange(1, 4).Value = .Range("X1").Value   'X列見出し
 >>>    cRange(1, 5).Value = .Range("AD1").Value   'AD列見出し
 >>>    cRange(1, 6).Value = .Range("AJ1").Value   'AJ列見出し
 >>>    cRange.Range("A2,B3,C4,D5,E6,F7").Value = ss
 >>>  End With
 >>>  Set CopyTo = Worksheets("WAREA").Range("A1") 'ここへ抽出する
 >>>  CopyTo.Parent.UsedRange.ClearContents
 >>>
 >>>
 >>> 'フィルタオプションによる別シートへ抽出の実行
 
 |  |