在Excel宏中指定工作表中的单元格

时间:2013-04-11 18:14:13

标签: excel vba excel-vba

我正在编写一个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”时,它不会产生错误。如果我所说的是正确的,那么当工作表的名称包含空格时,如何在工作表中引用单元格?

1 个答案:

答案 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)