2016-10-06 112 views
0

非常簡單的問題。我不斷收到錯誤消息並擅長崩潰。我的代碼出了什麼問題:清除範圍內的所有隱藏單元格

Sub Clear() 

Dim c As Range 

For Each c In ActiveSheet.Range("HeatPump1").Cells 

    If c.EntireRow.Hidden = True Then 
     c.Clear 
    End If 
Next c 

End Sub 
+3

將'.Cells'更改爲'.Rows' –

+0

該代碼適用於我。 (我認爲「HeatPump1」是ActiveSheet上的一個範圍。) – YowE3K

回答

1

哪一行發生錯誤?代碼運行時,活動工作表中是否有名爲「HeatPump1」的範圍?

在附註上,c.EntireRow.Hidden是一個布爾值,所以你不需要檢查它是否爲真。您可以簡單地寫:

If c.EntireRow.Hidden Then 
+0

對於'If {bool-expression} Then'的榮譽,將'{bool-expression}'與'Boolean'值進行比較是多餘的。 –

+2

@ Mat'sMug - 這個問題,以及相關的'如果x = True Then''y = True''否則''y = False'' End If'(簡化爲'y = x'),總是會讓我煩惱! – YowE3K

相關問題