|
▼瑠璃 さん:
>こんばんわ^^
>マクロまとめてくれましてありがとうございました。
>
>
>>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
>
>
>これで何とか 次の段階にいけそうです^^
|
|