| 
    
     |  | ▼瑠璃 さん: >こんばんわ^^
 >マクロまとめてくれましてありがとうございました。
 >
 >
 >>Option Explicit
 >>
 >↑は 必要なのでしょうか?
 
 変数の宣言がないとエラーになります。
 今回は変数がないのでいりませんが・・・
 
 
 >>Sub オートフィルタ切手()
 >>'
 >>' オートフィルタ切手 Macro
 >>' オートフィルタで切手を抽出する
 >>' オートフィルタ切手コピー Macro
 >>' 抽出した切手をsheet2にコピー
 >>'
 >>  With Sheets("sheet1")
 >>    If .AutoFilterMode Then .AutoFilterMode = False
 >>    .Range("BK71:BU101").AutoFilter Field:=1, Criteria1:=">=1", _
 >>    Operator:=xlAnd, Criteria2:="<=4"
 >>    If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count > 1 Then
 >>      .Range("BM72:BM101").Copy
 
 Application.Intersect(.AutoFilter.Range, .Range("BM:BM")).Offset(1).Copy
 ↑
 こんな風にすると、オートフィルターで抽出した範囲とBM列の重なった部分を
 1つ下にずらした範囲(つまり項目行を外した範囲)をコピーしてくれます。
 >>     ’    ↑
 >>     ’オートフィルターの結果がどんな場合でもこの範囲ですか?
 >抽出する範囲は変わりません。多分・・・^^;
 >変わってしまうとしたら、コードを書き換えるつもりですが
 >いい方法ってあるのでしょか?
 >本や他のサイトを見てもわからなかったのです。
 >
 >>      Sheets("sheet2").Range("B11").PasteSpecial Paste:=xlPasteValues, _
 >>      Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 >>      .Range("BQ72:BQ100").Copy
 >.Range("BQ72:BQ101").Copyでしたね^^;
 ↑ここも
 Application.Intersect(.AutoFilter.Range, .Range("BQ:BQ")).Offset(1).Copy
 
 
 >
 >>
 >>      Sheets("sheet2").Range("C11").PasteSpecial Paste:=xlPasteValues, _
 >>      Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 >>     End If
 >>     .AutoFilterMode = False
 >>  End With
 >>  Application.CutCopyMode = False
 >>End Sub
 >
 >
 >これで何とか 次の段階にいけそうです^^
 
 |  |