나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 굴뚝새 (ldykmk)

추천:  2
파일:     조회:  1088
제목:   사용자 정의함수 오류문제
     
  Function intPageEnd() As Integer

Dim intRow As Integer
Dim intRowEnd As Integer

Application.Volatile

Worksheets("산출서").Activate

intRowEnd = [d65536].End(xlUp).Row

If intRowEnd = 23 Then
intPageEnd = 1
Else
intPageEnd = Int(intRowEnd / 22)
End If

End Function

위함수가 평소에는 오류가 없다가 VBA를 돌리거나 할 경우 #Value 라는 오류가 뜸니다 물론 다시실행하면 돌아가구요 무슨 문제 인지 누구 조언좀 부탁드립니다
 
[불량 게시물 신고]  
큰형안녕하세요?
짧은 제 생각으로는 [사용자정의 함수]에 대한 약간의 오해가 있는 듯
합니다만 ... ^^
즉, Function프로시저에서 Worksheets("산출서").Activate 와 같은
명령어는 적절치 않습니다.

그럼, 즐거운 하루 보내세요^^*;;;
01-18 (12:45)
삭제 ■신고
MS멤버23행 단위로 1페이지씩 값을 얻는 함수로 보입니다.
큰형님 말씀처럼 
Worksheets("산출서").Activate와 같은 구문(절대적 참조 변수)이 있게 되면
'산출서'라는 시트가 존재하지 않을 경우
'산출서' 시트라는 D열을 찾지 못해 #VALUE! 오류가 나오게 됩니다.
01-18 (14:23)
삭제 ■신고
        
  

작성일 : 2008-01-18(12:38)
최종수정일 : 2008-01-18(12:38)