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

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

엑셀에서 VBA를 활용해 작업하다 보면 많은 분들이 데이터 입력 양식을 만드는 과정에서 어려움을 겪곤 합니다. 이 글에서는 VBA를 사용해 편리하고 보기 좋은 데이터 입력 양식을 만드는 방법을 단계별로 자세히 소개합니다.

엑셀 VBA로 데이터 입력 양식 만들기: 3단계

여기에는 Washington, New York, California라는 세 개의 워크시트가 준비되어 있습니다. 각 워크시트에는 한 은행의 세 지점별 고객 이름, 연락처, 나이, 성별 정보가 들어 있습니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

오늘의 목표는 VBA를 활용해 이 데이터베이스에 새 데이터를 손쉽게 입력할 수 있는 양식을 만드는 것입니다. 전체 과정은 크게 두 단계로 진행됩니다.

  • 첫째, 새 데이터를 입력할 UserForm(사용자 폼)을 생성합니다.
  • 둘째, 워크시트에 폼을 여는 버튼을 추가합니다.

1단계: UserForm을 활용한 데이터 입력 양식 만들기

이 단계는 다소 긴 과정이므로 처음 접하는 분들은 시간이 걸릴 수 있습니다. 최상의 결과를 얻으려면 아래 단계를 차근차근, 꼼꼼하게 따라 해 보세요.

  • 키보드에서 ALT + F11 키를 눌러 Visual Basic 창을 엽니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • Visual Basic 창 상단 도구 모음에서 Insert > UserForm을 클릭합니다. 그러면 UserForm1이라는 새 사용자 폼이 열립니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 도구 상자에서 Label(Label1)을 드래그해 폼의 좌측 상단에 배치하고, 표시 텍스트를 Worksheet로 변경합니다.
  • 그 오른쪽에 Listbox(Listbox1)를 드래그해 배치합니다.
  • 이어서 데이터 집합의 열 개수만큼(이 예제에서는 4개) Label을 폼 좌측에 추가하고, 각 레이블 옆에는 TextBox를 하나씩 배치합니다.
  • 레이블의 표시 텍스트를 각각 열 제목(Customer Name, Contact Address, Age, Gender)으로 변경합니다.
  • 마지막으로 CommandButton을 폼 우측 하단에 배치하고, 표시 텍스트를 Enter Data(데이터 입력)로 변경합니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • Listbox를 더블클릭하면 ListBox1_Click이라는 private 서브 프로시저가 열립니다. 아래 코드를 입력하세요.

⧭ VBA 코드:

Private Sub ListBox1_Click()

For i = 0 To UserForm1.ListBox1.ListCount - 1
    If UserForm1.ListBox1.Selected(i) = True Then
       Worksheets(UserForm1.ListBox1.List(i)).Activate
    End If
Next i

End Sub

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 다음으로 CommandButton을 더블클릭하면 CommandButton_Click이라는 private 서브 프로시저가 열립니다. 여기에 아래 코드를 입력합니다.

⧭ VBA 코드:

Private Sub CommandButton1_Click()

Total_Rows = ActiveSheet.UsedRange.Rows.Count
Total_Columns = ActiveSheet.UsedRange.Columns.Count

Active_Column = 1

For Each Ctrl In UserForm1.Controls
    If TypeName(Ctrl) = "TextBox" Then
        ActiveSheet.UsedRange.Cells(Total_Rows + 1, Active_Column) = Ctrl.Text
        Active_Column = Active_Column + 1
    End If
Next Ctrl

End Sub

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 마지막으로 도구 모음에서 Insert > Module을 클릭해 모듈을 삽입합니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • Module1이라는 새 모듈이 추가되면, 아래 코드를 입력하세요.

⧭ VBA 코드:

Sub Run_UserForm()

UserForm1.Caption = "Data Entry Form"

UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle
UserForm1.ListBox1.ListStyle = fmListStyleOption

For i = 1 To Sheets.Count
    UserForm1.ListBox1.AddItem Sheets(i).Name
Next i

Load UserForm1
UserForm1.Show

End Sub

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

완성되었습니다! 이제 데이터베이스에 새 데이터를 입력할 수 있는 데이터 입력 양식을 성공적으로 만들었습니다.

더 알아보기: 엑셀 데이터 입력 종류 한눈에 살펴보기

2단계: 데이터 입력 양식을 여는 버튼 삽입

지금까지 엑셀 VBA의 UserForm을 활용해 데이터 입력 양식을 성공적으로 만들었습니다. 이제 워크시트에 이 양식을 여는 버튼을 추가해 보겠습니다.

아래 단계를 따라 해 보세요.

  • 엑셀 리본 메뉴 상단에서 개발 도구(Developer) 탭을 클릭해 엽니다. 개발 도구 탭은 기본적으로 숨겨져 있으니, 리본 메뉴에 보이지 않는다면 먼저 탭을 표시하는 설정을 진행하세요.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 개발 도구 탭의 컨트롤(Controls) 그룹에서 삽입(Insert)을 클릭하면 다양한 컨트롤 도구가 나타납니다. 그중 가장 왼쪽 위에 있는 Button(양식 컨트롤, Form Control)을 드래그합니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 버튼을 워크시트의 원하는 위치에 끌어다 놓으면 Assign Macro(매크로 지정) 대화상자가 열립니다. Macro name(매크로 이름) 입력란에 Run_UserForm을 입력합니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

그런 다음 OK를 클릭합니다.

  • 필요하다면 버튼의 표시 텍스트도 변경할 수 있습니다. 여기서는 Enter New Data(새 데이터 입력)로 바꿨습니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

축하합니다! 데이터 입력 양식을 여는 버튼을 성공적으로 추가했습니다.

원한다면 각 워크시트마다 버튼을 하나씩 배치해 작업 흐름을 더욱 매끄럽게 만들 수도 있습니다.

더 알아보기: 엑셀에서 타임스탬프 데이터 입력 자동화하는 방법(5가지)

함께 읽으면 좋은 글

  • 웹 폼 데이터로 엑셀 스프레드시트 채우는 방법
  • 엑셀에서 데이터 로그 만들기(2가지 방법)
  • 엑셀에서 작성 가능한 양식 만드는 방법(5가지 예제)

3단계: 최종 결과물 확인

엑셀 VBA로 데이터 입력 양식을 만들고, 이를 여는 버튼까지 추가했습니다. 결과를 확인하려면 워크시트의 Enter New Data(새 데이터 입력) 버튼을 클릭하세요.

데이터 입력 양식이 열리면, 먼저 새 데이터를 입력할 워크시트를 선택합니다.

여기서는 New York을 선택했습니다. 워크시트를 선택하는 즉시 해당 시트가 활성화됩니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 그다음 입력할 나머지 데이터를 채워 넣습니다. 여기서는 Jennifer Marlo, 444204240, 26, Female을 입력했습니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

  • 마지막으로 Enter Data(데이터 입력)를 클릭합니다.

새 데이터가 데이터베이스의 마지막 행에 입력된 것을 확인할 수 있습니다.

엑셀 VBA로 데이터 입력 양식 만드는 방법 (3단계 완벽 가이드)

더 알아보기: UserForm 없이 엑셀 데이터 입력 양식 만드는 방법

기억해야 할 사항

  • 새 데이터를 입력할 때 코드는 UserForm 내 TextBox의 배치 순서를 그대로 따릅니다. 따라서 UserForm에 TextBox를 추가할 때는 데이터베이스의 열 순서와 동일한 순서를 유지해야 합니다.

결론

지금까지 엑셀 VBA를 활용해 데이터베이스용 데이터 입력 양식을 만드는 방법을 살펴보았습니다. 궁금한 점이 있다면 언제든지 문의해 주세요. 더 많은 팁과 최신 소식은 ExcelDemy 사이트에서 확인하실 수 있습니다.

함께 읽으면 좋은 관련 글

  • 엑셀에서 자동 채우기(Autofill) 양식 만드는 방법(단계별 가이드)
  • 엑셀에서 드롭다운 목록이 있는 데이터 입력 양식 만들기(2가지 방법)
  • 엑셀 데이터 입력 자동화하는 방법(2가지 효과적인 방법)
  • 엑셀 셀 데이터 입력 제한하기(2가지 간단한 방법)