[英]macro run-time error '9': subscript out of range
我在網上找到了一個用密碼保護工作表的宏。 它運行正常,但是當我保存文件時,我收到消息:運行時錯誤'9':訂閱超出范圍。 我之前從未編程或使用過Visual Basic,可以使用一些幫助。 謝謝
宏是:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Step 1:Protect the sheet with a password
Sheets("Sheet1").protect Password:="btfd"
'Step 2: Save the workbook
ActiveWorkbook.Save
End Sub
“下標超出范圍”表示您已嘗試從不存在的集合中訪問元素。 您的工作簿中是否有“Sheet1”? 如果沒有,您需要將其更改為要保護的工作表的名稱。
你為什么用宏? Excel內置密碼保護功能。 當您選擇文件/另存為...時,按“保存”按鈕應該有一個“工具”按鈕,然后單擊“常規選項”,您可以在其中輸入“要打開的密碼”和“要修改的密碼”。
當您收到錯誤消息時,您可以選擇單擊“Debug”:這將引導您到出現錯誤的行。 Dark Canuck似乎是正確的,我猜錯誤發生在線上:
Sheets("Sheet1").protect Password:="btfd"
因為很可能“Sheet1”不存在。 但是,如果你說“ 它運行正常,但是當我保存文件時,我收到消息:運行時錯誤'9':訂閱超出范圍 ”它讓我覺得錯誤發生在第二行:
ActiveWorkbook.Save
你能先點擊Debug按鈕檢查一下嗎? 最重要的是,正如Gordon Bell所說,你為什么使用宏來保護工作簿?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.