1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

vba 에러처리

VBA 조회 수 2424 추천 수 0 2012.09.23 18:18:33

운영체제 : win7

엑셀 : 2010 sp1

 

첨부된 예제에서 매크로를 실행하면 나오는 대화상자에서 InputBox메서드가 Type:=8 이므로

범위만 입력할 수 있습니다.

 

질문1)

문자, 숫자를 입력하면 MsgBox함수로 에러처리를 하려면 어떻게 하여야 하는지요?

 

질문2)

첨부된 파일의 코드에는 on error를 이용하여 "취소" 선택시 MsgBox함수로 에러처리를 하였는데요.

Type:=8을 변경하지 않은 상태에서 on error를 이용하지 않고 "취소" 선택시 MsgBox함수로 에러처리를 하고,

문자, 숫자 입력 시 MsgBox함수로 에러처리를 하는 방법도 있는지요?

 

질문3)

범위 입력시 F3 셀만 선택하고 "확인"을 누르면 나오는 msgbox함수에서 "확인"을 누르면 또다시 msgbox함수가 나오는데요.

원인이 무엇인지요?


댓글 '2'

profile

[레벨:30]아별

2012.09.25 22:54:12
*.104.126.21

안녕하세요? 고수가되고파님..

닉네임에서 절실함이 느껴집니다. ^^

열심히 공부하시는걸 보니.. 금방 고수가 되실 수 있을 것 같습니다.

 

답변1)

해보시면 아시겠지만.. type을 8로 지정하셨기 때문에 범위가 아닌 값을 입력하고 확인을 입력하면..

inputbox자체에서 에러 문구를 띄웁니다. 따로 코딩하실 필요가 없습니다.

 

답변2)

지금 하신 코딩이 취소 버튼을 클릭했을때의 올바른 처리입니다.

If rngSelection Is Nothing Then 에러메시지..

On Error Error Resume Next 와 On Error GoTo 0는 불필요한 코딩인 것 같습니다. 해당 행들은 삭제해주세요..

 

답변3)

일단 로직 자체가 잘 못 되었습니다.

 

상수 중에 숫자로 된 셀들 안에서 수식이 있는 셀을 검사하는 것 자체가 오류입니다.

수식이 아닌 상수만 있는 셀만을 대상으로 해서 수식이 있는 셀인지 검사한다는것인데요.. 항상 해당하는 것이 없을 수 밖에 없습니다.

     For Each rngC In rngSelection.SpecialCells(xlCellTypeConstants, xlNumbers)
        If rngC.HasFormula Then
            rngC.Interior.Color = vbGreen
        Else
            MsgBox "해당되는 셀이 없습니다.", vbOKOnly + vbInformation, strTitle
        End If
    Next rngC

 

 첨부파일을 참고하세요..

다운받기 : 예제(에러처리) (1).xlsm

 

 

 

첨부

[레벨:4]고수가되고파

2012.09.26 09:00:04
*.104.208.234

답변1)에서요. inputbox자체에서 에러 문구를 띄우는거 말고 MsbBox로 표현하려고 하거든요.. 공부차원에서요...ㅠ,;;

답변2)도 같은 맥락이구요.

질문3)은 코드가 잘못된 것 같습니다. 질문 다시하겠습니다^^;;.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 50548
502 불규칙 데이터 정리 2 [2] [레벨:1]부기부기 2009-07-15 4574
501 함수쫌 부탁드립니다. imagefile [1] [레벨:1]귀염둥잏ㅎㅎ 2009-07-20 4565
500 이기능 어떻게 사용하는건가요??? file [2] 용처ㅣ 2009-09-24 4562
499 문의 드립니다. [1] 루나 2009-12-29 4559
498 VLookup 엑셀에서 특정내용 참조하여 지정된 셀의 내용 교체 방법 imagefile [레벨:1]한스7 2014-03-16 4558
497 엑셀일반 줄바꿈을 나누기 file [1] [레벨:4]요셉 2013-09-13 4558
496 셀 합치는 것 좀 도와주세요. file [1] 대봉이 2009-12-14 4553
495 문의 드립니다.. file [1] [레벨:2]윙윙 2010-03-31 4551
494 (VBA) 또 질문할 수 밖에 없는 내가 너무 싫어요. file [3] [레벨:1]사오정원조 2009-07-06 4535
493 VBA [긴급] Range 범위 "A2:A10" -> 를 변수로 받게 하는 방법.. file [3] [레벨:1]마리너 2012-07-05 4527
492 엑셀일반 아별을 깔면 이러네요.ㅠ.ㅠ 엑셀 창이 알트텝으로 검색이 안되요 imagefile [2] [레벨:2]큰아빠에요 2012-01-30 4519
491 엑셀 2007 질문입니다. file [1] [레벨:1]베이스맨 2009-12-30 4508
490 엑셀일반 엑셀 작업한 내용이 안보여요. file [5] [레벨:2]시나브로 2012-06-20 4506
489 VBA vba로 서식정렬 [4] [레벨:2]정용규 2015-01-03 4491
488 도와 주세요~ ^^;; file [1] [레벨:1]papabear 2009-07-17 4489
487 엑셀일반 엑셀 질문 몇가지 드립니다. file [1] [레벨:1]나도그래짱 2013-02-03 4486
486 엑셀일반 셀 병합 후 데이터가 지워지지 않는 방법이 있는지요.. [2] [레벨:3]읍내꽃미남 2011-09-19 4478
485 VBA VBA 서적 추천좀 해주세요 [1] [레벨:1]김학래 2013-04-01 4472
484 AK18101*2 으로 되어 있는 셀을 빈셀에 AK18101 AK18101 으로 나열하는 방법 [2] 한따까리 2009-10-09 4467
483 셀에 입력한 규격 계산. [5] 최선으로 2009-07-10 4456