Page 612 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼オートフィルターについて jack 03/1/25(土) 23:51 ┗Re:オートフィルターについて りん 03/1/26(日) 15:16 ┗Re:オートフィルターについて jack 03/1/26(日) 22:08 ─────────────────────────────────────── ■題名 : オートフィルターについて ■名前 : jack ■日付 : 03/1/25(土) 23:51 -------------------------------------------------------------------------
オートフィルターのマクロは次のように記述しますが selection.autofilter field:=3,criterial:="5"〜 このfield:=3を「3」じゃなくて選択しているセルと 指定できないのでしょうか。 |
jack さん、こんにちわ。 >オートフィルターのマクロは次のように記述しますが >selection.autofilter field:=3,criterial:="5"〜 >このfield:=3を「3」じゃなくて選択しているセルと >指定できないのでしょうか。 Sub Macro1() '選択範囲に対してアクティブなセルが何列目かを取得 With Selection Fpos = ActiveCell.Column - .Cells(1).Column + 1 .AutoFilter Field:=Fpos, Criteria1:="5" End With End Sub 選択範囲がひとつに限りますが(それ以外はチェックしてません)。 で、ちょこっと応用して。 Sub Macro2() '選択範囲に対してアクティブなセルが何列目かを取得 If Application.Intersect(ActiveCell.EntireColumn, _ Range("B1:E10")) Is Nothing Then MsgBox "列が範囲外", vbExclamation Else With Range("B1:E10") 'フィルタが既に適用されている場合は解除 If .Parent.AutoFilterMode = True Then .AutoFilter ' Fpos = ActiveCell.Column - .Cells(1).Column + 1 .AutoFilter Field:=Fpos, Criteria1:="5" End With End If End Sub こんな感じです。 |
りん さん 解決しました。どうもありがとうございました。 マクロは初心者なので、本当に助かりました。 また、よろしくお願いします。 |