Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

직접 만든 사용자 폼(UserForm)은 크기가 크면서도 좁은 공간에 수많은 정보를 담고 있는 경우가 많습니다. 모든 요소가 한곳에 빽빽하게 들어서면 사용자 폼의 가독성이 크게 떨어집니다. VBA를 활용해 엑셀에서 사용자 폼을 전체 화면으로 표시하는 방법이 궁금하시다면, 이 글이 정확히 도움이 될 것입니다. 지금부터 자세한 설명과 함께 VBA 코드로 사용자 폼을 전체 화면으로 띄우는 4가지 방법을 하나씩 살펴보겠습니다.

아래 연습용 워크북을 다운로드해 직접 따라 해 보세요.

방법 1: xlMaximized 속성 활용하기

먼저 실습에 사용할 데이터 집합을 준비합니다. 파일은 일반적인 xlsx 형식이 아니라 매크로가 포함된 xlsm 형식으로 저장해야 한다는 점에 유의하세요.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

아래의 VBA 코드를 사용하면 복잡한 설정 없이 사용자 폼을 손쉽게 전체 화면으로 표시할 수 있습니다.

실행 단계

  • 먼저 개발 도구(Developer) 탭을 클릭한 다음 Visual Basic을 선택합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • Visual Basic 창이 열리면 삽입(Insert)을 클릭합니다.
  • 드롭다운 메뉴에서 사용자 폼(UserForm)을 선택합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 그러면 사각형 모양의 창 상자가 나타납니다.
  • 속성(Properties) 창에서 해당 창의 이름(Name)과 캡션(Caption)을 변경할 수 있습니다.
  • 이 상자가 바로 사용자 폼 작업 공간입니다. 여기에 도형, 버튼, 체크박스 등 다양한 컨트롤을 추가하고 시트와 연결할 수 있습니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 이후 해당 상자를 더블클릭합니다.
  • 편집기 창이 열리는데, 여기에 아래 코드를 붙여 넣습니다.
Private Sub UserForm_Activate()
Application.WindowState = xlMaximized
With Application
Me.Top = .Top
Me.Left = .Left
Me.Height = .Height
Me.Width = .Width
End With
End Sub

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 코드를 입력한 후에는 저장(Save) 아이콘을 클릭하고, 사용자 폼을 더블클릭해 편집 화면으로 돌아갑니다.
  • 설명을 위해 사용자 폼에 몇 가지 요소를 추가해 보겠습니다. 여기서는 입력 상자와 함께 텍스트 상자(Text Box)명령 버튼(Command Button) 몇 개를 배치했습니다.
  • 그다음 이미지에 표시된 실행(Run) 버튼을 클릭합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 실행 명령을 클릭하면 사용자 폼이 화면에 나타납니다.
  • 실행 결과, 사용자 폼이 아래 이미지처럼 화면 전체를 차지하는 것을 확인할 수 있습니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

🔎 VBA 코드 분석

  • 먼저 객체는 Userform, 프로시저는 Activate로 지정합니다.
  • 다음 줄의 WindowState는 현재 실행 중인 응용 프로그램의 창 상태를 의미합니다. 이 값을 xlMaximized로 설정하면 응용 프로그램 창이 최대화됩니다.
  • 그다음 줄에서 응용 프로그램 창을 선택합니다.
  • 이어서 위쪽(Top), 왼쪽(Left), 높이(Height), 너비(Width) 네 줄의 코드를 통해 창을 각 방향으로 최대화합니다.
  • 마지막으로 서브 프로시저를 종료합니다.

방법 2: 높이와 너비 직접 조정하기

이번에는 사용자 폼의 위치와 크기를 응용 프로그램 창과 일치시키는 방식으로 전체 화면을 구현합니다. 아래 VBA 코드를 활용하면 됩니다.

실행 단계

  • 개발 도구 탭을 클릭하고 Visual Basic을 선택합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • Visual Basic 창에서 삽입을 클릭한 뒤, 드롭다운 메뉴에서 사용자 폼을 선택합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 사각형 창 상자가 생성되면 속성 창에서 이름과 캡션을 설정합니다.
  • 필요에 따라 도형, 버튼, 체크박스 등의 컨트롤을 추가하고 시트와 연결합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 상자를 더블클릭해 편집기 창을 연 다음, 아래 코드를 붙여 넣습니다.
Private Sub UserForm_Activate()
Me.Height = Application.Height
Me.Width = Application.Width
Me.Left = Application.Left
Me.Top = Application.Top
End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
Application.WindowState = xlMaximized
End Sub

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 코드를 입력한 뒤 저장하고, 사용자 폼을 더블클릭해 편집 화면으로 돌아갑니다.
  • 테스트용으로 텍스트 상자, 명령 버튼, 입력 상자 등을 배치한 후 실행 버튼을 클릭합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 실행 결과, 사용자 폼이 아래 이미지와 같이 화면 전체 영역을 차지하게 됩니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

🔎 VBA 코드 분석

  • 첫 번째 프로시저(Activate)에서는 응용 프로그램 창의 높이, 너비, 왼쪽·위쪽 위치 값을 가져와 Me.Height, Me.Width, Me.Left, Me.Top에 각각 저장함으로써 사용자 폼을 창 크기에 맞춥니다.
  • 두 번째 프로시저(Initialize)에서는 WindowStatexlMaximized로 설정해 응용 프로그램 창 자체를 최대화합니다.
  • 두 절차가 결합되면 사용자 폼이 화면 전체에 꽉 차게 표시됩니다.

방법 3: With 문 활용하기

아래 VBA 코드는 With 문을 사용해 작은 사용자 폼 창을 전체 화면 크기로 변환합니다.

실행 단계

  • 개발 도구 탭에서 Visual Basic을 실행합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 삽입 → 사용자 폼 순서로 새 폼을 만듭니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 속성 창에서 이름과 캡션을 지정하고, 필요한 컨트롤을 배치합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 폼을 더블클릭해 편집기 창을 연 후 아래 코드를 붙여 넣습니다.
Private Sub UserForm_Initialize()
    With Fullscreen_form_3
        .Height = Application.Height
        .Width = Application.Width
    End With
End Sub

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 코드 저장 후 폼 편집 화면으로 돌아가 텍스트 상자, 명령 버튼, 입력 상자 등을 추가합니다.
  • 실행 버튼을 클릭합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 실행 결과, 사용자 폼이 아래 이미지처럼 화면 전체를 차지합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

🔎 VBA 코드 분석

  • 객체는 Userform, 프로시저는 Initialize로 지정합니다.
  • With 문으로 대상 폼(Fullscreen_form_3)을 선택한 뒤, 응용 프로그램의 높이와 너비를 .Height.Width에 저장합니다.
  • With 문을 사용하면 동일 객체에 대한 속성 설정을 간결하게 작성할 수 있어 코드 가독성이 좋아집니다.
  • 마지막으로 서브 프로시저를 종료합니다.

방법 4: 변수 활용하기

마지막 방법은 변수를 선언해 원래 창 상태를 보관한 후, 사용자 폼전체 화면으로 확장하는 방식입니다.

실행 단계

  • 개발 도구 탭에서 Visual Basic을 엽니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 삽입 → 사용자 폼으로 새 폼을 생성합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 속성 창에서 이름과 캡션을 설정하고 컨트롤을 배치합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 폼을 더블클릭한 뒤 편집기에 아래 코드를 붙여 넣습니다.
Private Sub UserForm_Initialize()
Dim xlws As XlWindowState
xlws = Application.WindowState
Application.WindowState = xlMaximized
With Fullscreen_form_4
    .Top = Application.Top
    .Left = Application.Left
    .Width = Application.Width
    .Height = Application.Height
    .Show
End With
Application.WindowState = xlws
End Sub

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 코드를 저장하고 폼 편집 화면으로 돌아가 텍스트 상자, 명령 버튼, 입력 상자 등을 추가한 후 실행 버튼을 클릭합니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

  • 실행 결과, 사용자 폼이 아래 이미지와 같이 화면 전체 영역을 차지하는 것을 확인할 수 있습니다.

엑셀 VBA로 사용자 폼(UserForm)을 전체 화면에 표시하는 4가지 쉬운 방법

🔎 VBA 코드 분석

  • 먼저 XlWindowState 유형의 변수 xlws를 선언합니다.
  • 현재 창 상태를 xlws에 저장해 두었다가, WindowStatexlMaximized로 설정해 응용 프로그램 창을 최대화합니다.
  • With 문 안에서 폼의 Top, Left, Width, Height를 응용 프로그램 창 값에 맞춘 뒤 .Show로 폼을 표시합니다.
  • 모든 작업이 끝나면 저장해 둔 원래 창 상태(xlws)를 복원하므로, 폼이 닫힌 후에도 엑셀 창 상태가 그대로 유지됩니다.

마무리

지금까지 사용자 폼을 전체 화면으로 표시하는 문제를 4가지 서로 다른 VBA 매크로 코드 예제로 해결해 보았습니다. 어떤 방법을 선택하느냐에 따라 장단점이 있으며, 특히 방법 4처럼 변수를 활용하면 폼 종료 후 원래 창 상태까지 깔끔하게 복원할 수 있다는 점이 장점입니다.

실습용 매크로 사용 가능 워크북을 함께 첨부했으니, 각 방법을 직접 적용해 보며 익혀 보시기 바랍니다.

궁금한 점이나 피드백이 있다면 댓글로 자유롭게 남겨 주세요. 더 나은 커뮤니티를 위한 제안도 언제나 환영합니다.