0
我的excell宏中有一個非常基本的問題。我錄一個宏用的Excell,只是選擇了一個表就可以了,如你所想,所產生的代碼如下:Excel宏中的錯誤:應用程序定義的或對象定義的錯誤
Sub Macro2()
Sheets("Graphs").Select
End Sub
但是當我嘗試執行上面的宏,我得到的錯誤:「應用程序 - 定義或對象定義的錯誤「
以前有人看過這個嗎?
我的excell宏中有一個非常基本的問題。我錄一個宏用的Excell,只是選擇了一個表就可以了,如你所想,所產生的代碼如下:Excel宏中的錯誤:應用程序定義的或對象定義的錯誤
Sub Macro2()
Sheets("Graphs").Select
End Sub
但是當我嘗試執行上面的宏,我得到的錯誤:「應用程序 - 定義或對象定義的錯誤「
以前有人看過這個嗎?
您正在收到的錯誤表明VBA無法確定您所指的是哪個對象。
VBA很好,因爲它是「聰明的」,並且允許您在沒有詳細說明您指的是什麼的情況下進行編程。
由於完全相同的原因,VBA很糟糕,因爲要確定爲什麼VBA不使用您希望它使用的對象,除非您知道VBA使用哪個優先級,否則很難確定。不僅對於對象也是如此,對於「隱式」類型變量也是如此,您可能希望VBA將您的變量作爲數字處理,但VBAs「智能」會導致它將其作爲字符串處理。
解決方法是顯式地鍵入想要VBA執行的操作,在您的情況下,VBA可能試圖在不具有名爲「Graphs」的工作表的不同工作簿中訪問名爲「Graphs」的工作表。
試試這個:
Sub MyMacro()
Dim myWorkBook As Excel.Workbook
Dim myWorkSheet As Excel.Worksheet
Set myWorkBook = Application.Workbooks("nameofyourworkbook.xlsm")
Set myWorkSheet = myWorkBook.Sheets("Graphs")
myWorkSheet.Select
End Sub
如果紙張被隱藏或你有你的代碼是什麼莫名其妙改名,你會得到一個錯誤,但不是一個。我建議您關閉Excel的所有實例,可選擇重新啓動整個計算機,然後重試。調試時發生的重複崩潰可能會破壞工作環境的穩定性。 – Jeeped