2016-07-12 7 views
0

私は多くのチャートを表示する必要があるプロジェクトに取り組んでいます。しかし、いくつかのグラフにはデータがないので、5つ以上のセルが空の場合は、特定のチャートを含む行を非表示にする必要があります。5つ以上のセルが空である場合のチャートを非表示

私はすでにいくつかのセルを別のプロジェクトに隠していましたが、チャートに基づいていませんでした。それはちょうど単一の細胞でした。 ここでのコードは、基本的に、参照エラーが発生したときはいつもありました。

For RowCnt = BeginRow1 To EndRow1 
If IsError(Cells(RowCnt, ChkCol).Value) Then 
    Rows("7:16").EntireRow.Hidden = True 
End If 
Next RowCnt 

私は10個のセルがチャートを作成しているとしましょう。チャートは15個の行を埋めます。 次に、これらの10個のセルをチェックするコードが必要です。

If more than 5 cells are empty Then 
Rows("0:15").EntireRow.Hidden = True 
End If 
Next RowCnt 

これはどのように処理しますか?

答えて

1

あなたはrngがあなたの10個のセルを含む範囲であるCOUNTIF

If Application.WorksheetFunction.CountIf(rng, "") > 5 Then 

を使用することができます。あなたは今rngは、行全体ことができ、あなたは10個の値に限定されるものではなく、非空のセル

If Application.WorksheetFunction.CountIf(rng, "*") < 5 Then 

を数えるところ

私は、しかし、他の方法でラウンドを好むだろう。

btwの場合、Rows(...)の範囲には.EntireRowを使用する必要はありません。すでに全行で構成されています。

関連する問題