책 내용 질문하기
온라인 채점 결과 문의
도서
2026 시나공 컴퓨터활용능력1급 실기 기본서
페이지
0
조회수
59
작성일
2026-06-30
작성자
김*연
첨부파일

2026_기본모의고사_01회

-3. 프로시저 작성 10/15

-폼 프로시저 X [cmd조회_Click] 매크로가 정답과 다릅니다.


조회 클릭 시 폼에 정보가 입력되지 않고 데이터표의 정보가 사라집니다..이유가 궁금합니다!


그리고 i =range("A3").CurrentRegion.Rows.Count - 1

이 식도 사용 가능한가요?

답변
2026-07-01 09:35:43

안녕하세요.

작성하신 코드는 정답과 방향이 반대로 되어 있기 때문입니다.

정답은 워크시트의 데이터를 읽어서 폼 컨트롤에 표시하는 코드입니다.

txt번호.Value = Cells(입력행, 1)

반면 작성하신 코드는 폼 컨트롤의 값을 워크시트 셀에 저장하는 코드입니다.

Cells(i, 1) = txt번호.Value

따라서 조회 버튼을 클릭하면 시트의 기존 데이터가 폼의 값(대개 빈 값)으로 덮어써져 데이터가 사라진 것처럼 보이게 됩니다.

또한,

i = Range("A3").CurrentRegion.Rows.Count - 1

은 문법적으로는 사용할 수 있지만 정답과 같은 결과가 나오지 않을 수 있습니다.

정답의

[A3].Row + [A3].CurrentRegion.Rows.Count - 1

은 데이터 영역의 마지막 행 번호를 구하는 식입니다.

반면

Range("A3").CurrentRegion.Rows.Count - 1

은 현재 영역의 행 개수에서 1을 뺀 값만 구하므로, 시작 행이 1행이 아닌 경우 실제 마지막 행 번호와 달라질 수 있습니다.

예를 들어 A3부터 10행까지 데이터가 있다면:

  • 정답: 3 + 8 - 1 = 10 → 마지막 행 번호
  • 작성식: 8 - 1 = 7 → 마지막 행 번호가 아님

따라서 이 문제에서는 정답처럼 시작 행 번호를 포함하여 계산해야 합니다.

즐거운 하루 되세요.

  • 관리자
    2026-07-01 09:35:43

    안녕하세요.

    작성하신 코드는 정답과 방향이 반대로 되어 있기 때문입니다.

    정답은 워크시트의 데이터를 읽어서 폼 컨트롤에 표시하는 코드입니다.

    txt번호.Value = Cells(입력행, 1)

    반면 작성하신 코드는 폼 컨트롤의 값을 워크시트 셀에 저장하는 코드입니다.

    Cells(i, 1) = txt번호.Value

    따라서 조회 버튼을 클릭하면 시트의 기존 데이터가 폼의 값(대개 빈 값)으로 덮어써져 데이터가 사라진 것처럼 보이게 됩니다.

    또한,

    i = Range("A3").CurrentRegion.Rows.Count - 1

    은 문법적으로는 사용할 수 있지만 정답과 같은 결과가 나오지 않을 수 있습니다.

    정답의

    [A3].Row + [A3].CurrentRegion.Rows.Count - 1

    은 데이터 영역의 마지막 행 번호를 구하는 식입니다.

    반면

    Range("A3").CurrentRegion.Rows.Count - 1

    은 현재 영역의 행 개수에서 1을 뺀 값만 구하므로, 시작 행이 1행이 아닌 경우 실제 마지막 행 번호와 달라질 수 있습니다.

    예를 들어 A3부터 10행까지 데이터가 있다면:

    • 정답: 3 + 8 - 1 = 10 → 마지막 행 번호
    • 작성식: 8 - 1 = 7 → 마지막 행 번호가 아님

    따라서 이 문제에서는 정답처럼 시작 행 번호를 포함하여 계산해야 합니다.

    즐거운 하루 되세요.

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