[[20060824114253]] 『オートフィルタ』(エクセル97) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートフィルタ』(エクセル97)

オートフィルタでデータを抽出してまま保存しても次にデータを開いたとき自動的に全て表示させることは可能ですか。現在シートの保護をしたオートフィルタをしている為マクロを組んでいます。列が多い為オートフィルタで抽出した場所がわからなくなることがあるので、オートフィルタの矢印部分をさわった場所がすぐにわかるようにしたいです。


 自動的に表示させるには、Workbook_OpenイベントとかWorksheet_Activateイベントなどで
 オートフィルタを解除すればいいのだと思います。
 抽出した列をわかりやすくするための方法の一つとして、下記の過去スレでみやほりんさんが
 提示されているマクロを試してみたらいかがでしょう?
[[20060118155616]]『オートフィルタのかかっている列がわかりにくい?』(★しずく★)
(純丸)(o^-')b


 私の作成したマクロはそのままでは使用できないかもしれません。
>シートの保護をしたオートフィルタをしている為マクロを組んでいます。
とのことなので、マクロで保護解除、オートフィルタ後再びシート保護、のような
コトをされていると思います。
マクロでのオートフィルタ直後に
Activesheet.Calculate
などで再計算実行。その上で、
[[20060118155616]]で紹介している最後のマクロを次のように書き換えればできるかもしれません。
 Private Sub Worksheet_Calculate()
     Static MyRng As Range
     Dim i As Long
     On Error Resume Next
     If Me.AutoFilterMode Then
         With Me.AutoFilter
             Set MyRng = .Range
             For i = 1 To .Filters.Count
                 If .Filters(i).On Then
                     MyRng.Cells(i).Interior.ColorIndex = 3
                 Else
                     MyRng.Cells(i).Interior.ColorIndex = xlNone
                 End If
             Next i
         End With
     Else
         If Not MyRng Is Nothing Then
             For i = 1 To MyRng.Columns.Count
                 MyRng.Cells(i).Interior.ColorIndex = xlNone
             Next i
         End If
     End If
     On Error GoTo 0
 End Sub
 
(みやほりん)(-_∂)b

 みやほりんさん、フォローをどうもです。m(__)m
(純丸)(o^-')b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.