image

이 기사에서는 VBA 사용자 양식의 기본 사항을 배웁니다. Excel에서 양식을 만드는 방법, VBA 도구 상자를 사용하는 방법, 사용자 입력을 처리하는 방법 및 마지막으로 사용자 입력을 저장하는 방법을 설명합니다. 하나의 예제와 단계별 가이드를 사용하여 이러한 주제를 살펴 보겠습니다. 이것을 읽고 있다면 Excel VBA의 기본 사항을 알고 있다고 가정합니다.

더 이상 지체하지 않고 시작하겠습니다.

Excel 및 Store Record에 대한 투자 양식 작성

사용자 폼 디자인부터 시작하겠습니다. 이 사용자 양식에는 이름에 대한 텍스트 상자 하나, 나이에 대한 텍스트 상자, 투자 금액에 대한 텍스트 상자 및 성별에 대한 한 쌍의 라디오 버튼이 있습니다. 시작하겠습니다.

사용자 양식 디자인

Alt + F11 바로 가기를 사용하여 Excel에서 Visual Basic 편집기를 엽니 다. 프로젝트 상자에서 VBAProject (yourfile)를 마우스 오른쪽 버튼으로 클릭합니다. 삽입 옵션에서 사용자 양식을 선택하십시오. 즉시 새 폴더가 생성되고 사용자 양식이 발견됩니다. 이 프로젝트의 모든 사용자 양식이이 폴더에 추가됩니다.

속성 상자 *에서 양식 이름을 InvestmentForm으로 변경합니다.

양식에 요소 추가 : 위 이미지에서 이미 요소 (레이블, 텍스트 상자, 명령 단추)를 추가했습니다. 그러나 새 사용자 양식은 완전히 비어 있으므로 도구 상자를 사용하여 양식에 요소를 추가해야합니다. 도구 상자가 보이지 않으면보기 * 탭에서 가져 오십시오.

이름 요소 * : 텍스트 상자, 레이블, 버튼 등은 모두 요소입니다.

그리고 VBA 코드에서 사용하려면 이름을 지정해야합니다. 속성 창을 사용하여 이름을 변경합니다. 요소를 선택하십시오. 여기에서 이름에 대한 텍스트 상자를 선택합니다. 속성 창으로 이동하여 이름을“NameBox *”로 변경합니다. 사용할 각 요소에 대해 동일한 작업을 수행하십시오. (_ 레이블을 클릭 할 수있게하려는 경우가 아니면 레이블 이름을 지정할 필요가 없습니다 ._)

image

아래 표와 같이 요소 이름을 변경했으며 이러한 이름을 사용하여 참조합니다. 다른 이름을 가질 수 있습니다. 이 이름을 귀하의 이름으로 바꾸십시오. 코드에 사용되는 VBA 이름 (코드 이름)입니다. 양식에 반영되지 않습니다.

레이블과 버튼에서 볼 수있는 텍스트는 “캡션”입니다. 원하는 경우 요소의 이름과 캡션이 동일 할 수 있습니다.

Element

Rename

Name Text Box

NameBox

Age Text Box

AgeBox

Male Option Button

MaleOption

Female Option Button

FemaleOption

Investment Text Box

InvestBox

Submit Command Button

SubmitButton

Cancel Command Button

CancelButton

사용자에게 사용자 양식 표시 : 이제 양식이 준비되었으므로 사용자에게 표시하겠습니다. 하지만 잠깐, 어떻게해야하나요. 워크 시트에는 사용자 양식을 호출하는 옵션이 없습니다. 실제로 사용자 양식에는 트리거가 필요합니다. 단독으로는 표시 할 수 없습니다. 명령 버튼, 서브 루틴 또는 이벤트를 사용하여 화면에 폼이 팝업되도록 할 수 있습니다.

여기서는 명령 버튼을 사용하여 사용자 양식을 트리거합니다.

  • 워크 시트에서 개발자 탭으로 이동 하시겠습니까? 끼워 넣다? 버튼 (양식 컨트롤).

열린 양식의 이름을 바꿉니다.

  • 그것을 마우스 오른쪽 버튼으로 클릭하십시오. 매크로 할당을 클릭 한 다음 새로 만들기를 클릭합니다.

image

서브가 즉시 생성됩니다. 이제이 줄을 그 하위에 추가하십시오.

Sub Open_Form()

'Opening form

InvestmentForm.Show

End Sub

완료되었습니다. 해당 시트로 돌아가서 버튼을 클릭하십시오. 사용자 양식이 나타납니다.

image

VBA 사용자 양식을 사용하여 시트 채우기 : 명령 버튼 (양식 열기)을 클릭하면 양식이 나타납니다. 이제 양식을 채울 수 있습니다. 하지만 제출 버튼을 클릭하면이 시트에 데이터가 입력되어야하지만 아무 일도 일어나지 않습니다. 이에 대한 vba 명령어를 작성하지 않았기 때문입니다. 사용자 양식 데이터를 시트에 저장해야합니다. VBA로 돌아가서 제출 버튼을 두 번 클릭하십시오. 새 서브가 자동으로 생성됩니다. 이 하위는 양식에 포함되어 있으며 어떤 모듈에서도 찾을 수 없습니다. 이것은 양식의 각 요소에 대해 동일합니다.

  • 해당 서브 에이 vba 코드를 작성하십시오.

Private Sub SubmitButton_Click()

Sheet1.Activate

'get first empty row on sheet (read about it here)

lstrow = Cells(Rows.Count, 1).End(xlUp).Row

Set firstEmptyRow = Range("A" & lstrow + 1)

'initialize each cell with data

firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'first cell

firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'first cell to the right

firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'third cell to the right

'checking radio button

If MaleOption.Value = True Then

firstEmptyRow.Offset(0, 2).Value = "Male" 'second cell to the right

Else

firstEmptyRow.Offset(0, 2).Value = "Female" 'second cell to the right

End If

'Closing form

Unload Me

End Sub

위의 VBA 코드 스 니펫은 제출 버튼을 클릭하면 실행됩니다. 시트에서 첫 번째 빈 행을 찾아서 양식에 제공된 값으로 채 웁니다. 마지막으로 “Unload Me”명령을 사용하여 양식을 닫습니다.

image

취소 명령을 사용하여 양식을 닫습니다. 지금은 취소 버튼이 쓸모가 없습니다. 아무것도하지 않습니다. 입력을 중단하고 싶은 경우 취소 버튼을 사용할 수 있습니다. 이 경우 : * VBA 편집기에서 취소 명령 버튼을 두 번 클릭합니다. 새로운 서브가 생성됩니다. 이 코드 줄을 작성하여 사용자 양식을 닫으십시오.

Private Sub CancelButton_Click()

'Closing form

Unload Me

End Sub

마지막으로 양식 코드는 다음과 같습니다.

image

그리고 그게 다야. 이것은 엑셀 vba 사용자 양식을 사용하여 사용자로부터 입력을받는 방법입니다. 이 기사에서는 사용자가 익숙해 질 수 있도록 사용자 양식의 기본 사용법을 살펴 보았습니다. 기본 vba에 대한 지식이 있으면 간단합니다.

향후 기사에서는 Excel에서 vba 사용자 양식의 고급 기능을 살펴볼 것입니다. 더 많은 작업을 수행하기 위해 Excel에서 사용자 양식을 만들 것입니다.

vba 사용자 양식에 사용할 수있는 다양한 도구와 요소를 살펴 보겠습니다.

그때까지 이것을 연습하십시오. 원하는 경우 참조 용으로이 파일을 다운로드 할 수 있습니다.

네, 이것은 작고 간단한 사용자 양식 튜토리얼이었습니다. 수완이 되었기를 바랍니다. 이것에 대해 의문이 있으시면 알려주십시오. 아래 댓글 섹션에 알려주십시오.

관련 기사

link : / user-forms-input-boxes-in-vba-change-the-valuecontent-of-several-userform-controls-using-vba-in-microsoft-excel [여러 UserForm 컨트롤의 값 / 내용 변경 Excel에서 VBA 사용]

link : / user-forms-input-boxes-in-vba-prevent-a-userform-from-closing- when-the-user-clicks-the-x-button-using-vba-in-microsoft-excel [ 사용자가 Excel에서 VBA를 사용하여 x- 버튼을 클릭 할 때 사용자 폼이 닫히지 않도록 방지]

link : / user-forms-input-boxes-in-vba-return-a-userdefined-cell-reference-from-a-dialog-using-vba-in-microsoft-excel [RefEdit를 사용하여 사용자가 참조한 셀 반환 Excel에서 사용자 양식 제어]

인기 기사 :

link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]

link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]

link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]