책 내용 질문하기
VBA 문법 이해가 안되요. 설명 좀 부탁드리겠습니다.
도서
2018 시나공 기출문제집 컴퓨터활용능력 1급 실기
페이지
조회수
44
작성일
2018-11-16
작성자
탈퇴*원
첨부파일

1. 폼.show 명령어 = 해당되는 폼을 열어준다. 인데 명령어를 입력하고 눌러도 해당이 안열려요 ㅠㅠ..

2. 폼이 초기화 되면. (Initialize) 에 입력을 해야되는데, Initialize가 안나와요.... 직접 작성해서 만들어도 되나요?

폼 초기화 상태가 되려면 어떻게 해야 하는지 잘 모르겠어요 ㅠㅠ..

3. Rowsource 의 정확한 뜻을 모르겠어요... 개념 좀 설명해주세요.

4. List, Listindex 의 정확한 개념을 잘 모르겠어요.. .설명 좀 해주세요.

두개의 구문형식이랑 개념 설명 좀 부탁드리겠습니다..

5. [a2]. Currentregion.Rows.cont = a2셀과 연결된 범위에 있는 데이터 행수를 더하여 치환한다고 하는게...

a2셀과 연결된다는게 a1행과 a3행인가요? 예를 들어서 a2,a3,a4 행 까지 데이터가 입력되어있으면 값이

"3" 이 되는게 맞는가요?

6. 질문이 너무 많아서 죄송한데, 부탁 좀 드리겠습니다.

답변
2018-11-17 02:01:58

안녕하세요.

1.
문의 내용만으로는 원인 파악이 어렵습니다.

작업하신 파일을 첨부하셔서 재질문해 주세요.


2.
직접 입력하셔도 되구요.

그림처럼 선택해서 이용하셔도 됩니다.


3.
행원본을 설정하는 속성입니다.

엑셀에서 rowsource는 셀에 목록이 입력되어 있고 이것을 범위로 지정 하여 사용할때 쓰는 것입니다.


4. listindex와 list,listindex의 차이점을 설명 드릴께요. 이렇게 이해하시는 것이 빠르실 거예요.

첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

<첫 번째 코드>
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
Cells(입력행, 1) = txtID
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)

여기에서 참조행에 lst과목.listindex 라고 정의해 두고 lst과목.list(참조행,0) 으로 사용하고 있습니다.

이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.

<두 번째 코드>
참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.count

cells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)

이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다.

그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.


두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
아래 이미지는 참조표의 예입니다.

5.

입력행 = [c4].Row + [c4].CurrentRegion.Rows.Count

- ‘입력행’ 변수에 [C4] 셀의 행번호인 4와 [C4] 셀과 연결된 범위에 있는 데이터[C4,C5,C6]의 행수(3)를 더하여 치환합니다.

쉽게 생각하면 워크시트에 데이터를 입력할 행을 표시하는 것이 입력행입니다.

좋은 하루 보내세요.


  • *
    2018-11-17 02:01:58

    안녕하세요.

    1.
    문의 내용만으로는 원인 파악이 어렵습니다.

    작업하신 파일을 첨부하셔서 재질문해 주세요.


    2.
    직접 입력하셔도 되구요.

    그림처럼 선택해서 이용하셔도 됩니다.


    3.
    행원본을 설정하는 속성입니다.

    엑셀에서 rowsource는 셀에 목록이 입력되어 있고 이것을 범위로 지정 하여 사용할때 쓰는 것입니다.


    4. listindex와 list,listindex의 차이점을 설명 드릴께요. 이렇게 이해하시는 것이 빠르실 거예요.

    첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

    <첫 번째 코드>
    참조행 = lst과목.ListIndex
    입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
    Cells(입력행, 1) = txtID
    Cells(입력행, 2) = txt이름
    Cells(입력행, 3) = lst과목.List(참조행, 0)
    Cells(입력행, 4) = lst과목.List(참조행, 1)
    Cells(입력행, 5) = lst과목.List(참조행, 2)
    Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)

    여기에서 참조행에 lst과목.listindex 라고 정의해 두고 lst과목.list(참조행,0) 으로 사용하고 있습니다.

    이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.

    <두 번째 코드>
    참조행 = lst열차종류.listindex + 4
    입력행 = [a3].row + [a3].currentregion.rows.count

    cells(입력행, 1) = txt번호
    cells(입력행, 2) = cells(참조행, 8)
    cells(입력행, 3) = cells(참조행, 9)
    cells(입력행, 4) = txt매수
    cells(입력행, 5) = txt매수 * cells(참조행, 10)

    이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다.

    그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

    한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.


    두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
    아래 이미지는 참조표의 예입니다.

    5.

    입력행 = [c4].Row + [c4].CurrentRegion.Rows.Count

    - ‘입력행’ 변수에 [C4] 셀의 행번호인 4와 [C4] 셀과 연결된 범위에 있는 데이터[C4,C5,C6]의 행수(3)를 더하여 치환합니다.

    쉽게 생각하면 워크시트에 데이터를 입력할 행을 표시하는 것이 입력행입니다.

    좋은 하루 보내세요.


· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.