在Excelmacros中的工作表中指定一个单元格

我正在写一个Excelmacros,并有一个像下面这样的部分,我在一个名为“daf”的工作表中通过一列,并将其与另一个工作表中的单元格进行比较:

For i = 2 To 75 If Range("the daf!C" + Trim(Str(i))) = Range("scratchpad!Q30") Then notes = notes + Range("scratchpad!P30") Exit For End If Next 

问题是它产生了“#Value!”的结果 而问题似乎是因为我在表名中有一个空格,因为当我用“scratchpad”replace“daf”时,它不会产生错误。 如果我说的是正确的,那么当表单名称中包含空格时,如何才能引用单元格?

使用

 Sheets("the daf").Range("C" & i) 

代替

 Range("the daf!C" + Trim(Str(i))) 

例:

If Sheets("the daf").Range("C" & i).Value = Sheets("scratchpad").Range("Q30").Value Then

编辑

如果你仍然想使用你正在使用的方法,那么试试这个

 Range("'the" & " " & "daf'!C" & i)