본문 바로가기

엑셀/VBA

엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea

반응형

이전 글에서 수식이 입력된 셀의 수식을 보이지 않게 숨기는 기능의 속성인 FormulaHidden에 대해 알아보았습니다. 이번에는 워크시트의 일부만 입력 가능토록 설정하고 나머지 범위는 일기 전용으로 설정하는 Worksheet 개체의 ScrollArea 속성에 대해 알아보겠습니다.

 

엑셀 VBA 시트에 입력된 수식 모두 숨기는 속성 - FormulaHidden

 

엑셀 VBA 시트에 입력된 수식 모두 숨기는 속성 - FormulaHidden

이전 글에서 사용된 셀 전체를 선택하는 속성 UsedRange에 대해 알아보았습니다. 이번에는 엑셀을 사용하면서 셀에 수식을 입력하여 사용하는데, 입력된 수식을 숨기는 기능을 제공해주는 속성 For

mr-johndoe.tistory.com

 

 

 

 

 

1. ScrollArea 속성

  ScrollArea 속성은 Worksheet 개체의 속성으로 입력이 가능한 범위를 설정할 때 사용합니다.

ScrollArea 속성으로 지정된 범위 이외의 셀은 읽기 전용이 되어 입력이 불가능하게 됩니다. 또한, 이 속성을 이용하여 입력 범위를 지정한 후 파일을 닫고 다시 열게 되면 설정 범위가 해제되어버립니다. 

그러므로, 파일이 열릴때 바로 실행되도록 이벤트를 이용하면 항상 입력 범위가 지정된 상태를 유지할 수 있습니다.

 

 

2. 예제로 확인

이전 글에서 예제로 사용하였던 학생명부([그림 1])를 이용하여 ScrollArea에 대해 확인해 보겠습니다.

 

예제-학생명부
[그림 1] 학생명부

A~F 열에는 학생관련 기록을 입력해 놓았고 H5 셀에 찾고자 하는 학생 이름을 입력하면 H8:J8 범위의 각 셀에 해당하는 데이터를 찾아서 표시하도록 함수 VLOOKUP을 사용하였습니다.

 

H8 셀에는 다음과 같이 수식을 입력하였습니다.

 

  =VLOOKUP(H5,표1[[이름]:[비상연락처]],2,FALSE)

 

표1은 B5:F16 범위를 지정하여 이름 정의로 명명한 표 이름입니다. VLOOKUP 함수를 사용하기 위해 범위를 이름 열부터 다시 잡았습니다.

 

VLOOKUP함수

 

VLOOKUP함수

셀에서 많이 사용되는 VLOOKUP함수 VLOOKUP함수와 HLOOKUP함수는 실제 업무에서 많이 사용되는 함수 중 하나입니다. 데이터 테이블에서 내가 원하는 값을 눈으로 일일이 찾기에는 시간도 많이 걸리고

mr-johndoe.tistory.com

 

 

 

 

 

ScrollArea 속성을 이용하여 H5셀에만 데이터 입력이 가능하도록 하고 다른 셀의 데이터는 수정하지 못하도록 설정하겠습니다.

 

VBE 창을 열고 모듈을 하나 생성합니다. 그리고, 다음 코드를 코드 창에 입력합니다.

 

   Public Sub 입력제한()

      Worksheets("학생명부").ScrollArea = "H5"

   End Sub

 

Worksheets("학생명부").ScrollArea = "H5"

: 학생명부 워크시트의 H5 셀만 입력 가능하도록 설정하였습니다. H5 셀을 제외한 모든 셀은 입력이 불가능하게 됩니다.

 

위의 코드를 작성하고 실행을 하시고 학생명부 워크시트에서 H5 셀 이외의 셀을 마우스로 클릭하셔도 선택이 되지 않습니다. 그리고, 키보드로 학생 이름을 입력하면 H5 셀에 입력하신 내용이 나타나고 엔터를 치시면 해당 데이터가 뜨는 것을 보실 수 있습니다.

 

이제 입력 제한을 풀기 위해 다시 VBE 창으로 이동하셔서 모듈 하나를 생성하시고 다음과 같이 코드를 작성합니다.

 

   Public Sub 입력제한해제()

      Worksheets("학생명부").ScrollArea = ""

   End Sub

 

위 코드를 입력하시고 실행하시면 다시 모든 셀을 선택하고 입력할 수 있게 됩니다. 

 

반응형