Excel VBA对象所需的错误

我一直在看这个代码,似乎无法弄清楚为什么我不断得到一个对象所需的错误。 我试图添加一个新的工作表,地方和数组和范围在工作表(这工作)。 接下来,我想命名工作表中的所有单元格,以后使用一个variables名称。 任何人都可以看到为什么它不工作?

Set WS_Temp = Sheets.Add With WS_Temp .Range(Cells(1, 1), Cells(1, LastColRA)) = Sheet1.Range("Dynamic_Range").Value .Range(Cells(2, 1), Cells(counter + 1, LastColRA)) = Application.Transpose(vList) '.Range(Cells(1, 1), Cells(counter + 1, LastColRA)) = Selected_Range '.Range(Selection, Selection.SpecialCells(xlLastCell)).Select = Selected_Range End With Set Selected_Range = WS_Temp.Range(Selection, Selection.SpecialCells(xlLastCell)).Value ***ERRORS HERE 

你可以尝试脱掉.Value吗? – 马特Cremeens

Set关键字用于分配对象引用 。 使用它来分配会抛出你得到的错误,“对象需要”。

而这正是你在这里做的:

 Set Selected_Range = WS_Temp.Range(Selection, Selection.SpecialCells(xlLastCell)).Value 

您正试图将Selected_Range对象分配给WS_Temp.Range(...) 的值 ,这是您无法合法执行的。 移除.Value ,你将分配Selected_Range一个引用,指向你的WS_Temp表单上由Range调用返回的Range对象。