EXCEL のVBAでシートを操作(例えば、行コピー)する場合、フィルタがかかったままだと、誤動作する(列がズレてコピーされる)ことがあるので、フィルタを解除するコードを書いてみた。
If ActiveSheet.AutoFilterMode = True then  ' フィルタがかかっているかを判定する
    ActiveSheet.Range("A1").autofilter ' フィルタをクリア
    ActiveSheet.AutoFilterMode = False  ' ▽ボタンを消す
End If
でもこれ(AutoFilterMode)だとフィルターがかかっていても、then節を実行してくれない。AutoFilterModeがTrueにならないのだ。 色々試行錯誤し、わかったのだが、そんな時には、AutoFilterModeではなく、FilterModeを使うと、うまく行くかもしれない。逆もありうるので、両方のパターンを網羅する。なんだか、元々がバグのようでなので、わけわかりませんが・・・
If ActiveSheet.FilterMode = True or ActiveSheet.AutoFilterMode = True then  ' フィルタがかかっているかを判定する
    ActiveSheet.Range("A1").autofilter ' フィルタをクリア
    ActiveSheet.AutoFilterMode = False  ' ▽ボタンを消す
End If
試してみてね。マイクロソフトは気ままな会社なので、ユーザはとても大変ですね。
ここで一息のコーナー。今回は、エノキの冷凍について。エノキが使い切れず、だめにしてしまうことが多いので、冷凍を試みた。4〜5センチに切り、一回分ずつをラップして、冷凍してみた。解凍はせず、そのまま、味噌汁の具鍋に投入。物凄く使い易い。これはもはや、茹で卵の作り方みたいに、どうでもいい情報だね。

0 件のコメント:
コメントを投稿