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 件のコメント:
コメントを投稿