1

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

4

1 回答 1

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)
于 2013-04-11T18:18:55.687 回答