列 A のセルに 0 が含まれている場合、ワークシートの行の一部を非表示にしたいと考えています。これは数式を使用して計算されます。
たとえば、A1 に値「0」が含まれている場合、行 #1 は非表示にする必要があります。
このコードを Sheet の Activate イベントに記述できることはわかっていますが、ファイルのパフォーマンスが低下しています。
ファイルのパフォーマンスを損なうことなく同じことを達成する良い方法はありますか?
これを達成するためにいつでも使用できますfilter
。その方がはるかに効率的だと思います。
編集: コードのパフォーマンスを向上させるために、次のことができます。
ループを実行して行を非表示にする前に
With Excel.Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
.Cursor = xlWait
End With
ループ終了後
With Excel.Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.Cursor = xlDefault
End With
お役に立てれば。また、変数を明示的に使用すると、パフォーマンスと計算が向上する可能性があります。変数を明示的に宣言することも役立ちますが。