본문 바로가기
#4 VBA/#4.1 환경설정 및 기본개념

속성 창(Property Window) 기초 완벽 정리

by 이세계의엑셀 2024. 12. 29.
반응형

속성 창(Property Window) 기초 내용을 정확히 이해하면 VBA 에디터에서 시트, 모듈, 컨트롤 등의 속성을 효율적으로 제어할 수 있다. 속성 창(Property Window)을 구성하는 요소와 기본 활용법을 단계별로 정리해보자.

반응형

속성 창(Property Window) 개요

속성 창(Property Window)은 Visual Basic Editor(이하 VBE)에서 특정 객체의 세부 속성을 확인하고 변경할 수 있도록 도와주는 창이다. 엑셀에서 VBA 코드를 작성할 때, 프로젝트 탐색기 창에서 시트나 모듈, 사용자 폼(UserForm), 폼 내 컨트롤 등을 선택하면, 속성 창(Property Window)에 해당 객체의 다양한 속성 목록이 표시된다. 예를 들어 시트 이름, 사용자 폼의 배경색, CommandButton의 Caption 등은 속성 창(Property Window)을 통해 직관적으로 설정할 수 있다. 이처럼 속성 창은 “객체에 담긴 속성을 수정”하는 핵심 역할을 하므로, 엑셀 VBA를 본격적으로 다루려면 먼저 속성 창(Property Window) 기초부터 충실히 익히는 것이 유리하다.

속성 창 표시 및 기본 조작

  • 표시 방법
    • VBE 창이 열려 있는 상태에서 상단 메뉴 [View] → [Properties Window]를 클릭한다.
    • 단축키 F4를 누르면 속성 창(Property Window)이 바로 표시된다.
    • 만약 속성 창이 화면에 보이지 않거나 닫혀 있다면 이 방식을 통해 다시 열면 된다.
  • 위치와 도킹(Docking)
    • 속성 창은 주로 프로젝트 탐색기 창 아래쪽이나 오른쪽에 배치된다.
    • 제목 표시줄을 마우스로 드래그하면 독립된 창 형태로 빼낼 수 있고, 다시 VBE 내부 원하는 위치에 도킹할 수도 있다.
  • 객체 선택 방식
    • 프로젝트 탐색기 창에서 특정 객체(시트, UserForm, 모듈, 폼 컨트롤 등)를 클릭하면, 속성 창(Property Window)이 해당 객체의 속성 목록을 보여준다.
    • 객체를 바꿀 때마다 속성 창 내용이 즉시 갱신되므로, 코드 창을 열지 않고도 기본적인 설정 변경을 빠르게 처리할 수 있다.

 

속성 창(Property Window) 구성 요소

  1. 개체 선택 드롭다운(Object Selector)
    • 속성 창 맨 위쪽에는 선택 중인 객체의 이름이 표시된다.
    • 한 번 클릭하면 동일 범주 내 다른 객체로 바꿀 수도 있으나, 일반적으로 프로젝트 탐색기 창에서 객체를 선택하는 것이 더 직관적이다.
  2. 속성 목록(Properties List)
    • 드롭다운 아래에는 실제 속성들의 목록이 나열된다.
    • 보통 알파벳 순(Alphabetic)과 범주(Category) 보기 두 가지 탭이 제공되며, 이 중 원하는 방식을 골라 속성을 탐색할 수 있다.
    • 각 속성 왼쪽에는 속성 이름, 오른쪽에는 그 값이 나열되는 형태다.
  3. 속성 이름(Property Name)과 속성 값(Property Value)
    • 예: Caption, Name, BackColor, Font, Visible 등
    • 속성 이름을 클릭하고 오른쪽의 속성 값을 수정하면, 해당 객체의 특징이 즉시 반영된다.
    • 숫자·문자·Boolean(True/False)·RGB 색상 코드 등 다양한 타입으로 속성 값이 존재할 수 있다.
  4. 설명 영역(Description)
    • 일부 VBE 버전 혹은 VBA 환경에서는 속성을 선택했을 때 하단에 해당 속성에 대한 간단한 설명이 표시되기도 한다.
    • 필수 요소는 아니지만, 생소한 속성의 기능을 파악할 때 참고가 될 수 있다.

시트와 ThisWorkbook 속성 편집

  • 시트(Sheet) 객체
    • 프로젝트 탐색기 창에서 Sheet1(“원본데이터”) 등과 같이 표시된 시트를 선택하면, 속성 창(Property Window)에서 (Name), Visible, ScrollArea 등의 속성을 볼 수 있다.
    • (Name) 항목을 수정하면 VBA 코드에서 참조할 때 쓰이는 내부 코드명이 바뀐다. 탭에 표시되는 실제 이름(Name 속성과 구분)을 바꾸려면 시트 탭에서 직접 “이름 바꾸기”를 해야 한다.
    • Visible 속성을 xlsheetVisible, xlsheetHidden, xlsheetVeryHidden 등으로 바꾸면 시트를 숨기거나 다시 보이게 조정할 수 있다.
  • ThisWorkbook
    • 통합 문서 자체를 가리키는 특수 객체다.
    • 속성 창에서 DisplayDrawingObjects, FileFormat, HasPassword 등 몇몇 속성을 확인하고 수정 가능하지만, 빈도가 높지는 않다.
    • 일반적인 통합 문서 속성은 엑셀 메인 창의 [파일] 탭에서 확인하거나, VBA 코드로 접근하는 경우가 많다.

 

Module, Class Module, UserForm 속성 살펴보기

  • Module(일반 모듈)
    • 일반 모듈은 Sub, Function 등을 저장하는 공간이며, 속성 창(Property Window)에서는 주로 (Name)만 볼 수 있다.
    • (Name)을 의미 있게 수정해두면, 프로젝트 규모가 커졌을 때 모듈을 쉽게 식별할 수 있다(예: “modDataProcess”, “modReport”).
    • 모듈에는 Visible, Caption 등의 추가 속성이 없다.
  • Class Module(클래스 모듈)
    • 클래스 모듈은 객체 지향적인 방식으로 Property, Method 등을 정의하기 위한 용도로 쓰이며, 마찬가지로 속성 창에는 (Name) 정도만 나타난다.
    • 클래스 내부 변수나 프로시저의 접근 수준(Public/Private) 등은 속성 창이 아니라 코드에서 설정한다.
  • UserForm(사용자 폼)
    • 속성 창(Property Window) 기초에서 가장 자주 언급되는 요소 중 하나가 사용자 폼이다.
    • Caption, BackColor, BorderStyle, Height, Width, ShowModal 등 다양한 속성이 나타난다.
    • Caption은 폼 상단 타이틀바에 표시되는 텍스트를 뜻하며, BackColor는 배경색, Height와 Width는 폼의 크기를 결정한다.
    • ShowModal 속성이 True면 폼이 모달(Modal)로 열려 엑셀 조작을 막고, False면 모델리스(Modeless)로 열려 엑셀 시트 조작을 동시에 진행할 수 있다.

컨트롤 속성 변경

  • CommandButton(버튼)
    • Caption, Name, Enabled, Visible, Font 등 다양한 속성이 있으며, 속성 창에서 즉시 변경 가능하다.
    • Caption을 “확인”으로 바꾸면 버튼의 표시 문구가 변경된다.
    • Enabled = False로 바꾸면 버튼이 비활성화되어 클릭할 수 없게 된다.
  • TextBox(텍스트 상자)
    • Text, Value, MaxLength, PasswordChar, MultiLine 등 많은 속성을 가지고 있다.
    • Text/Value는 사용자가 입력한 내용을 나타내고, PasswordChar에 “*” 같은 문자를 넣으면 텍스트 상자가 비밀번호 입력란처럼 표시된다.
    • MultiLine을 True로 설정하면 여러 줄 입력이 가능해진다.
  • ComboBox(콤보 박스)
    • RowSource, Style, BoundColumn, ColumnCount 등 목록 데이터 표시 관련 속성이 있다.
    • RowSource를 “Sheet1!A1:A10”처럼 입력하면, 해당 범위를 콤보 박스 목록으로 쓸 수 있다.
    • Style 속성을 fmStyleDropDownList로 바꾸면 사용자가 임의로 직접 입력하지 못하고, 목록에서만 선택하게 된다.
  • CheckBox, OptionButton
    • Caption, Value, TripleState 등 속성이 있으며, Value 속성(True/False)로 체크 여부를 나타낸다.
    • TripleState를 True로 두면 체크박스가 세 가지 상태(True/False/Null)를 표현할 수 있다.

이처럼 속성 창(Property Window) 기초를 이해하면, 각 컨트롤의 시각적·기능적 특징을 직접 설정할 수 있어 사용자 폼 제작이 훨씬 편리해진다.

속성 창(Property Window) 활용 예시

' 사용자 폼 예시 코드
' UserForm1이라는 폼에 TextBox1, CommandButton1이 있다고 가정

Private Sub UserForm_Initialize()
    Me.Caption = "속성 창(Property Window) 기초 테스트"
    Me.Height = 200
    Me.Width = 300
End Sub

Private Sub CommandButton1_Click()
    If Me.TextBox1.Value = "" Then
        MsgBox "내용을 입력하세요."
    Else
        MsgBox "입력된 내용: " & Me.TextBox1.Value
    End If
End Sub
  • 이 코드에서 Me.Caption은 폼 타이틀바 문구를 설정한다. 속성 창(Property Window)에서도 같은 값을 설정할 수 있다.
  • TextBox1, CommandButton1의 Caption·Name·Font 등을 미리 속성 창에서 설정해두면, 코드에서 따로 구체적인 속성 변경을 하지 않아도 된다.

 

속성 창에서 자주 다루는 속성

  • Name
    • 폼·모듈·시트·컨트롤을 코드에서 식별할 때 사용. 되도록 고유하고 직관적인 이름으로 설정하면 유지·보수가 편해진다.
  • Caption
    • 표시 텍스트. 버튼이나 폼의 상단 제목 등에 사용. 사용자에게 직접 보이는 부분이므로 적절히 구성해야 한다.
  • Visible / Enabled
    • Visible = False이면 화면에 표시되지 않고, Enabled = False이면 클릭할 수 없게 된다.
  • Font / BackColor / ForeColor
    • 글꼴, 배경색, 전경색 등을 조절해 컨트롤이나 폼의 시각적 요소를 바꿀 수 있다.
  • Height / Width / Top / Left
    • 폼 또는 컨트롤의 크기와 위치를 정의한다. 사용자 폼 디자인 시, 이 속성들을 수정해 레이아웃을 구성한다.
  • SpecialEffect / BorderStyle
    • 버튼이나 텍스트 박스의 테두리나 입체감 효과를 변경한다. 폼의 디자인을 사용자 친화적으로 꾸밀 때 종종 활용된다.

속성 창(Property Window) 사용 시 주의할 점

  1. 코드와의 충돌
    • 코드에서 동적으로 특정 속성을 계속 변경하는 로직이 있다면, 속성 창(Property Window)에서 설정해둔 값이 실행 중에 덮어씌워질 수 있다.
    • 어떤 속성은 고정값으로, 어떤 속성은 런타임 중 동적으로 조절할지 미리 구분해 두면 혼동을 줄일 수 있다.
  2. (Name) vs Caption 혼동
    • (Name)은 코드에서 객체를 식별하기 위한 이름이고, Caption은 사용자에게 보여지는 텍스트로 구분해야 한다.
    • 예: CommandButton1.Name = “btnSubmit”, CommandButton1.Caption = “완료”
  3. 시트 코드명 vs 시트 탭 이름
    • 시트의 (Name)을 바꾸면 VBA 상에서의 코드 참조명이 변하지만, 시트 탭에 표시되는 실제 이름은 바뀌지 않는다.
    • 시트 탭 이름을 바꾸려면 엑셀 메인 창에서 시트 탭을 우클릭해 “이름 바꾸기”를 해야 한다.
  4. UserForm 모달/모델리스 주의
    • ShowModal 속성을 True로 두면 UserForm이 떠 있는 동안 엑셀의 다른 기능이 잠기므로, 사용자 경험을 고려해 적절히 결정한다.
    • 대화형 입력이 긴 시간 요구되는 경우, ShowModal = False로 설정해 사용자 폼과 시트를 번갈아 가며 다룰 수 있게 하는 것이 낫다.
  5. 재사용 가능한 컨트롤
    • 동일한 기능의 컨트롤을 여러 개 추가할 때, 속성 창(Property Window)을 통해 기본 속성을 한 번에 복사·붙여넣기 하듯 복제하면 편리하다.
    • 또는 한 컨트롤을 복사해 붙이면, 같은 설정을 가진 새 컨트롤이 생기므로 일일이 속성을 다시 입력할 필요가 줄어든다.

속성 창(Property Window) 기초 마무리

속성 창(Property Window)은 VBA 에디터에서 객체의 다양한 특성을 시각적으로 확인·수정할 수 있는 핵심 창이다. 시트·사용자 폼·컨트롤 등 대상 객체마다 고유한 속성들이 존재하며, 속성 창(Property Window)을 통해 Name, Caption, Visible, Enabled, Color, Font 등을 즉시 변경할 수 있다. 이러한 기능을 제대로 활용하면 사용자 폼 디자인을 직관적으로 구성하고, 시트 속성 관리도 한층 편해진다. 속성 창(Property Window) 기초를 잘 이해해두면, VBA 프로젝트 전반의 개발 효율과 유지·보수성이 크게 향상되므로 반드시 숙지해두자.

반응형