2014-11-24 90 views
0

我無法弄清楚這條線For Each c In ws.UsedRange.Cells我不斷收到錯誤Method 'worksheet' range failed修剪宏得到錯誤

感謝

編輯:更新

Sub trimAll() 
Dim ws As Worksheets 
Dim c As Range 

For Each ws In WorkSheets 
    If ws.Name = "XXX" Or ws.Name = "YYY" Then 
     For Each c In ws.UsedRange.Cells 
      If Not (IsEmpty(c) Or IsError(c)) Then 
       c.Value = Trim(c.Value) 
      End If 
     Next c 
    End If 
Next ws 
End Sub 
+0

如果** XXX **和** YYY **是有效的工作表對象,那麼在代碼中應該沒有任何問題。 – L42 2014-11-24 02:51:31

回答

2

嘗試:For Each ws in Worksheets因爲Sheets集合可以包含東西AREN 't工作表

+0

好點!我應該修改我自己的標準練習以跳過宏觀圖表,圖表等。 – Jeeped 2014-11-24 01:56:02

+0

感謝您的幫助barrowc,但我仍然得到相同的錯誤 – xyz 2014-11-24 02:13:05

+0

上面的代碼已經通過If語句來過濾表單,我確信@Tim標識爲有效的工作表對象。 – L42 2014-11-24 02:44:31