300개의 예

여러 페이지가 있는 사용자 양식

Userform With Multiple Pages

아래에서는 여러 페이지가 포함된 사용자 양식을 생성하는 Excel VBA의 프로그램을 살펴보겠습니다. 이 사용자 양식에는 이미지도 포함되어 있습니다.





다중 페이지 컨트롤에는 두 페이지가 있습니다. 1페이지에서 이용자는 자신의 개인정보를 입력할 수 있습니다. 2페이지에서 사용자는 자신이 가장 좋아하는 그림을 지정할 수 있습니다.

사용자 양식 페이지 1 사용자 양식 2페이지





이 Userform을 생성하려면 다음 단계를 실행하십시오.

1. 열기 비주얼 베이직 에디터 . 프로젝트 탐색기가 표시되지 않으면 보기, 프로젝트 탐색기를 클릭합니다.



2. 삽입, 사용자 양식을 클릭합니다. 도구 상자가 자동으로 나타나지 않으면 보기, 도구 상자를 클릭합니다. 아래와 같이 화면이 설정되어야 합니다.

Excel VBA에서 사용자 양식 화면 설정

3. 다중 페이지 컨트롤, 레이블, 텍스트 상자(첫 번째는 맨 위에, 두 번째는 첫 번째 아래에), 프레임, 옵션 버튼(첫 번째는 왼쪽에, 두 번째는 오른쪽에), 목록 상자, 이미지 제어 및 명령 버튼을 추가합니다. 이 작업이 완료되면 이전에 표시된 빈 버전의 사용자 양식과 결과가 일치해야 합니다. 예를 들어, 도구 상자에서 다중 페이지를 클릭하여 다중 페이지 컨트롤을 만듭니다. 다음으로 사용자 폼에서 다중 페이지 컨트롤을 끌 수 있습니다. 성별 프레임에 도달하면 두 개의 옵션 버튼을 배치하기 전에 이 프레임을 먼저 그려야 합니다.

4. 컨트롤의 이름과 캡션을 변경할 수 있습니다. 이름은 Excel VBA 코드에서 사용됩니다. 캡션은 화면에 나타나는 캡션입니다. 컨트롤의 이름을 변경하는 것이 좋은 방법이지만 이 예에서는 컨트롤이 몇 개뿐이므로 여기서는 필요하지 않습니다. Userform, 다중 페이지 탭, 레이블, 프레임, 옵션 버튼 및 명령 버튼의 캡션을 변경하려면 보기, 속성 창을 클릭하고 각 컨트롤을 클릭합니다.

Excel에서 두 숫자의 백분율 차이를 어떻게 계산합니까

5. 사용자 양식을 표시하려면 명령 버튼 워크시트에 다음 코드 줄을 추가합니다.

사적인 보결CommandButton1_Click()

UserForm1.Show

보결

이제 Sub UserForm_Initialize를 만들 것입니다. Userform에 대해 Show 메서드를 사용하면 이 하위 항목이 자동으로 실행됩니다.

6. 열기 비주얼 베이직 에디터 .

7. 프로젝트 탐색기에서 UserForm1을 마우스 오른쪽 버튼으로 클릭한 다음 코드 보기를 클릭합니다.

8. 왼쪽 드롭다운 목록에서 Userform을 선택합니다. 오른쪽 드롭다운 목록에서 초기화를 선택합니다.

9. 다음 코드 줄을 추가합니다.

사적인 보결UserForm_Initialize()

와 함께목록 상자1
.AddItem '산'
.AddItem '일몰'
.AddItem '해변'
.AddItem '겨울'
와 함께

보결

설명: 2페이지의 목록 상자가 채워집니다.

이제 Userform의 첫 번째 부분을 만들었습니다. 이미 깔끔해 보이지만 목록 상자에서 항목을 선택하거나 확인 버튼을 클릭해도 아무 일도 일어나지 않습니다.

10. 이미지(이 페이지의 오른쪽)를 다운로드하고 'C: est'에 추가합니다.

11. 프로젝트 탐색기에서 UserForm1을 더블 클릭합니다.

12. 목록 상자를 두 번 클릭합니다.

13. 다음 코드 줄을 추가합니다.

사적인 보결ListBox1_Click()

만약에ListBox1.ListIndex = 0그 다음에
Image1.Picture = LoadPicture('C: estMountains.jpg')
만약에

만약에ListBox1.ListIndex = 1그 다음에
Image1.Picture = LoadPicture('C: estSunset.jpg')
만약에

만약에ListBox1.ListIndex = 2그 다음에
Image1.Picture = LoadPicture('C: estBeach.jpg')
만약에

만약에ListBox1.ListIndex = 3그 다음에
Image1.Picture = LoadPicture('C: estWinter.jpg')
만약에

보결

설명: 이 코드 라인은 목록 상자에서 선택한 항목에 따라 그림을 로드합니다.

14. 확인 버튼을 더블 클릭합니다.

15. 다음 코드 줄을 추가합니다.

사적인 보결CommandButton1_Click()

없음빈 행같이

'Sheet1을 활성화
Sheet1.활성화

'emptyRow 결정
emptyRow = WorksheetFunction.CountA(Range('A:A')) + 1

'이체 정보
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value

만약에OptionButton1.값 =진실 그 다음에
Cells(emptyRow, 3).Value = '남성'
또 다른
Cells(emptyRow, 3).Value = '여성'
만약에

Cells(emptyRow, 4).Value = ListBox1.Value

'사용자 양식 닫기
나를 내리다

보결

설명: 먼저 Sheet1을 활성화합니다. 다음으로 emptyRow를 결정합니다. emptyRow 변수는 첫 번째 빈 행이며 레코드가 추가될 때마다 증가합니다. 다음으로 Userform에서 emptyRow의 특정 열로 정보를 전송합니다. 마지막으로 Userform을 닫습니다.

16. Visual Basic Editor를 종료하고 아래 표시된 레이블을 행 1에 입력하고 Userform을 테스트합니다.

결과:

사용자 양식 테스트

10/11 완성! 사용자 양식에 대해 자세히 알아보기 >
다음 장으로 이동: 범위



^