2014-09-26 15 views
1

을 받고, 모듈 변수로 워크 시트 개체를 설정 :이 내가 노력하고 무엇 오류

  1. 모듈에서이 워크 시트 개체에 대한 모듈 범위 변수를 선언;
  2. ThisWorkbook 개체에서 통합 문서를 열 때 변수를 설정합니다.

각각에 대한 코드 :

모듈 1 :

Option Explicit 
Public ws As Worksheet 


Function func() 
    dim rng as Range 
    set rng = ws.Range("namedRange") 
    'rest of code ... 
end function 

에서 ThisWorkbook :

: 나는 통합 문서를 열 때, 첫 번째 실행에서 오류가 발생

Private Sub Workbook_Open() 
    Set ws = Worksheets("Sales") 
End Sub 

Method 'Range' of object '_Worksheet' failed

과 항상 그 후, 오류는 다음과 같습니다

Object variable or With block variable not set

+0

문제점을 복제 할 수 없습니다. 프로젝트를 설정 한 방법은이 [image] (http://i58.tinypic.com/2s9rfht.jpg)를 참조하십시오. 오류가 발생하면 어떤 코드 행이 강조 표시됩니까? –

+0

**''설정'** rng = ws.Range ... ' – KekuSemau

+0

나도 필요합니다. 내가 당신의 코드를 시도하고, 그것은 잘 작동합니다. 그것이'Workbook_Open' 이벤트의 유일한 코드라고 확신합니까? 그렇다면 작동하지 않을 이유가 없습니다. – L42

답변

1

나는 또한 당신의 코드를 시도했다. 그리고 나는 문제가 없다는 결정에 거의 도달했습니다!

그러나 일부 재판 후에 '두 번째 오류'가 나타납니다. 나의 관찰은 다음과 같습니다

당신이 는 여분의 하위 또는 FN을 추가하거나 VBA 코드를 재설정하면, 공공 개체 변수가 을 파괴하지 얻을하고 더 이상 액세스 할 수 있는지 확인하십시오.

FYI : Reference link

관련 문제