在2010 Office中运行的Excel VBA脚本无法识别工作簿对象。但它在2007年确实有效

在2010 Office中运行的Excel VBA脚本无法识别工作簿对象。但它在2007年确实有效,vba,excel,Vba,Excel,我在VBA Excel 2007中编写了一些脚本,现在我正尝试在Excel 2010上运行这些脚本。但是,最简单的对象工作簿在2010版本中未被识别: Dim myValue As Variant Dim myWksheet As Worksheet Set myValue = Workbooks("myWorkbook").Sheets("Sheet1").Range("A1").Value Set myWksheet = Workbooks("myWorkbook").Sheets("Sh

我在VBA Excel 2007中编写了一些脚本,现在我正尝试在Excel 2010上运行这些脚本。但是,最简单的对象工作簿在2010版本中未被识别:

Dim myValue As Variant
Dim myWksheet As Worksheet

Set myValue = Workbooks("myWorkbook").Sheets("Sheet1").Range("A1").Value
Set myWksheet = Workbooks("myWorkbook").Sheets("Sheet2")
这两行都给了我2010年的错误,但不是2007年的错误。为什么会发生这种情况?我如何修复它

提前感谢,,
Lakean找到了我自己问题的答案

有时编译器无法检测工作簿对象,这是没有充分理由的。因此,为了避免任何错误,只需将其指向其父类即可。这样就没有犯错的余地了

对于VBA2007和2010,请使用Excel为工作簿作序。像这样:

Dim myValue As Variant
Dim myWksheet As Worksheet

Set myValue = Excel.Workbooks("myWorkbook").Sheets("Sheet1").Range("A1").Value
Set myWksheet = Excel.Workbooks("myWorkbook").Sheets("Sheet2")
谢谢! 湖泊