2014-09-24 59 views
0

工作,我在VBA Excel 2007中,我現在想對Excel 2010中。然而,最簡單的對象,工作簿運行寫了一些劇本,沒有被認可,在2010年版:在2010年運行的Excel VBA腳本Office無法識別Workbook對象。但它確實在2007年

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年。爲什麼會發生這種情況,我該如何解決它?

由於提前, Lakeand

回答

1

找到了答案,以我自己的問題!

由於沒有很好的理由,有時會發生編譯器無法檢測到Workbook對象的情況。所以爲了避免任何錯誤,只需將它指向它的父類即可。這樣就沒有出錯的餘地。

在VBA 2007和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") 

謝謝! 湖泊

相關問題