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 に答える