메뉴
해결 엑셀2013윈도우10

엑셀 userform 에서 Frame 내의 Control들을 한번에 제어하는 방법?

v
12월 21일 조회 1,144


 

이런 식으로 폼을 만들었는데 위의 그림 처럼 옵션을 통해 Frame의 visible을 컨트롤 하는 방식을 사용하여 보이는 Frame의 값만 엑셀에 입력되도록 코드를 작성했었습니다.


그런데 빈칸이 있으면 입력되지 않도록 코드를 짜던 중에 opt1이나 opt2를 선택했을 때 보이지 않는 Frame에 있는 컨트롤이 빈칸일 때도 에러가 발생한다는 사실을 알게되었습니다.

 

혹시 Frame의 visible이 false일 때 그 frame안에 위치한 control들의 visible을 한번에 바꿀 수 있는 방법은 없는지 궁금해서 질문을 올리게 되었습니다.

아래 샘플 파일을 첨부합니다.

댓글 2

원조백수 채택된 답변 12월 21일
각 개체의  개체.Parent.Name을 확인하면 Frame1/2/3를 확인할 수 있고,
각 개체의 Tag란에 그룹명을 넣어 놓아서 확인하는 방법도 있고,
개체 이름을 fm1TextBox처럼 이름에 규칙을 적용해서 구분하는 방법도 있고...
대상이 구분이 되면 For Each,,, Next 문으로 Parent나 Tag, 이름을 확인해서 처리하면 될 듯 합니다.
v
vividmin 작성자 12월 21일
@원조백수 님 이미 코드가 상당히 진행된 상황이라 Name을 바꾸기는 어려웠는데 개체.Parent.Name이나 Tag를 사용하면 되는군요!
정말 감사합니다

질문답변 게시판의 최근 글

스크랩 완료