2014-11-24 42 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