我正在编写一个Excel宏,并有一个类似下面的部分,我在一个名为“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!”的结果。问题似乎是我在工作表名称中有一个空格,因为当我用“暂存器”替换“daf”时,它不会产生错误。如果我所说的是正确的,那么当工作表的名称包含空格时,如何在工作表中引用单元格?
答案 0 :(得分:2)
使用
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)