2013-05-03 60 views
0

在宏的某個點,我想刪除我的單元格中使用綠色文本完成的所有評論。如何避免運行時錯誤與themecolor

爲此,我只需使用2「for」循環:

For Each WS In WB.Worksheets 
For Each cell In WS.UsedRange.Cells 

    If cell.Font.ThemeColor = xlThemeColorAccent3 Then 
     cell.Value = "" 

    End If 
Next 
Next 

但有些時候的themeColor相關似乎沒有定義和代碼停止與「5」無效的過程調用或參數運行時錯誤。

我試圖自己找到解決方案。由於我有很多其他顏色,我無法爲每個單元格設置默認值。

如何避免此運行時錯誤?

回答

1

如果它只是避免它,你可以創建一些不那麼好樣的try-catch的(至極不VBA存在),就像這樣:

For Each WS In WB.Worksheets 
     For Each cell In WS.UsedRange.Cells 

      on error goto 1 
      If cell.Font.ThemeColor = xlThemeColorAccent3 Then 
       cell.Value = "" 

      End If 
1   on error goto 0 

     Next 
    Next 
+1

如果可以的話,我會建議' On Error Resume Next [do code] On Error Goto 0'。 – 2013-05-03 19:29:15

+0

goto 0的用途是什麼?哪裏是0? – 2013-05-06 09:13:04

+0

我仍然不知道「去0」的目的,我認爲一個「在錯誤恢復接下來會做得更好」 – 2013-07-11 14:41:56

相關問題