应隐藏的某些行不会被隐藏

时间:2015-11-25 22:20:18

标签: excel vba excel-vba

以下是相关代码:

'hides all Location, Account, Product Line, or Sum of Total rows in column A
For Each c In r
    If c.Text = "Location" Or c.Text = "Account" Or c.Text = "Product Line" Or _ 
            c.Text = "Sum of Total" Then
        c.EntireRow.Hidden = True
    End If
Next c

问题是它在A列中隐藏了大多数具有这些名称的列,但有两组没有被隐藏。 (有~15个数据透视表,位置,帐户和产品线都是过滤器;总计的总和是除了A列中的单个语句之外的空行

可能导致这种情况的原因是什么?

如果需要,我可以发布我正在使用的完整代码,但由于某种原因,它只是没有读取两个特定数据透视表中的值。

编辑:更多代码

Set r = Range("a1:a1000")

'hides all rows with no value
For Each c In r
    If Len(c.Text) = 0 Then
        c.EntireRow.Hidden = True
    Else
        c.EntireRow.Hidden = False
    End If
Next c

'unhides all the rows below each grand total row
For Each c In r
    If c.Text = "Grand Total" Then
        c.Offset(1).EntireRow.Hidden = False
    End If

Next c

'unhides all rows below a row with a value
For Each c In r
    If Len(c.Text) > 0 Then
        c.Offset(1).EntireRow.Hidden = False
    End If
Next c


'hides all Location, Account, Product Line, or Sum of Total rows in column A
For Each c In r
    If c.Text = "Location" Or c.Text = "Account" Or c.Text = "Product Line" _
 Or c.Text = "Sum of Total" Then
        c.EntireRow.Hidden = True
    End If
Next c

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。而不是使用c.Text我使用c.Value2并修复了问题。必定存在一些无法修复的内部格式问题。