2026_기본모의고사_01회
-3. 프로시저 작성 10/15
-폼 프로시저 X [cmd조회_Click] 매크로가 정답과 다릅니다.
조회 클릭 시 폼에 정보가 입력되지 않고 데이터표의 정보가 사라집니다..이유가 궁금합니다!
그리고 i =range("A3").CurrentRegion.Rows.Count - 1
이 식도 사용 가능한가요?
안녕하세요.
작성하신 코드는 정답과 방향이 반대로 되어 있기 때문입니다.
정답은 워크시트의 데이터를 읽어서 폼 컨트롤에 표시하는 코드입니다.
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→ 마지막 행 번호가 아님
따라서 이 문제에서는 정답처럼 시작 행 번호를 포함하여 계산해야 합니다.
즐거운 하루 되세요.
- 정답: