如果超过5个单元格为空,则隐藏图表

时间:2016-07-12 07:50:30

标签: excel vba excel-vba

我正在开展一个项目,我需要展示很多图表。但是有些图表缺少数据,因此如果超过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 个答案:

答案 0 :(得分:1)

您可以使用COUNTIF

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

其中rng是包含10个单元格的范围。

我更倾向于反过来,你计算非空单元格

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

现在rng可能是整行,您不限于10个值。

顺便说一句,您不需要将.EntireRow用于Rows(...)范围。它已经包含整行。