2014-02-20 2 views
2

워크 시트를 암호로 보호하기 위해 웹에서 매크로를 발견했습니다. 그것은 잘 작동하지만 파일을 저장할 때 메시지가 : 런타임 오류 '9': 구독 범위 벗어났습니다. 이전에 시각적 기본을 프로그래밍하거나 사용한 적이 없으며 도움을받을 수있었습니다. 당신에게매크로 런타임 오류 '9': subscript out of range

감사 매크로는 다음과 같습니다

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 

답변

3

는 "첨자 범위를 벗어났습니다"존재하지 않는 컬렉션 요소에 액세스하려고 한 것을 나타냅니다. 통합 문서에 "Sheet1"이 있습니까? 그렇지 않은 경우 보호 할 워크 시트의 이름으로 변경해야합니다.

2

왜 매크로를 사용하고 있습니까? Excel에는 암호 보호 기능이 내장되어 있습니다. 파일/다른 이름으로 저장 ...을 선택하면 저장 버튼으로 도구 버튼을 클릭 한 다음 "일반 옵션"을 클릭하여 "열기 암호"및 "수정할 암호"를 입력 할 수 있습니다.

0

오류 메시지가 나타나면 "디버그"를 클릭 할 수 있습니다. 오류가 발생한 행으로 연결됩니다. 다크 Canuck 바로 것 같다, 나는 오류가 라인에 발생 같아요 대부분의 아마 "Sheet1의"가 존재하지 않는

Sheets("Sheet1").protect Password:="btfd" 

때문이다. 그러나 "잘 작동하지만 메시지를 얻을 때 파일을 저장할 때 : 런타임 오류 '9': 구독 범위를 벗어났습니다"두 번째 줄에 오류가 발생합니다 생각합니다 :

ActiveWorkbook.Save 

먼저 디버그 버튼을 눌러 확인할 수 있습니까? 가장 중요한 것은 고든 벨 (Gordon Bell)이 말한 것처럼 왜 통합 문서를 보호하기 위해 매크로를 사용하고 있습니까?

관련 문제