엑셀 VBA에서 사용자 정의 폼을 만들 때 컨트롤을 통해 쉽게 루프 Controls 컬렉션을 사용하여 특정 값에 각 컨트롤의 속성을 설정할 수 있습니다.

사용자 정의 폼 우리는 다음과 같은 모양을 만들려고하고있다 :

Controls Collection in Excel VBA

이 정의 폼을 만들려면 다음 단계를 실행합니다

  1. Visual Basic 편집기. 프로젝트 탐색기가 보이지 않으면보기 프로젝트 탐색기를 클릭합니다.

삽입, 사용자 정의 폼을 클릭합니다. 도구 상자가 자동으로 나타나지 않으면,보기, 도구 상자를 클릭합니다. 화면은 다음과 같이 설정해야합니다.

Userform Screen Setup in Excel VBA

레이블, 텍스트 상자 (먼저 상단의 첫 번째 아래의 두 번째 등) 및 명령 단추를 추가합니다. 이것이 완료되면, 그 결과는 앞서 도시 정의 폼의 화상과 일치한다. 예를 들어, 도구 상자에서 텍스트 상자를 클릭하여 텍스트 상자 컨트롤을 만듭니다. 다음으로, 당신은 사용자 정의 폼에 텍스트 상자를 드래그 할 수 있습니다.

  1. 사용자 정의 폼, 라벨 및 명령 단추의 캡션을 변경하려면,보기, 속성 창을 클릭하고 각 컨트롤을 클릭합니다.

  2. 사용자 정의 폼을 보여 워크 시트에 명령 단추를 배치하고 다음 코드 줄을 추가하려면 :

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

설명 : VBModeless 여기서를 추가하여, 동시에 워크 시트에서 사용자 정의 폼 작업을 사용할 수 있습니다.

우리는 지금 사용자 정의 폼의 첫 번째 부분을 만들었습니다. 이미 깔끔한 보이지만 우리는 사용자 정의 폼에 명령 단추를 클릭 할 때, 아무것도 아직 일어나지 않습니다.

  1. Visual Basic 편집기.

프로젝트 탐색기에서 7, UserForm1을 두 번 클릭합니다.

  1. 더블 명령 버튼을 클릭합니다.

다음 코드 줄을 추가 9. :

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10

Controls("TextBox" & i).Value = Cells(i + 1, 1).Value

Next i

End Sub

설명 : 몇 줄의 코드, 우리는 시트의 전화 번호와 텍스트 상자를 채울 수 있습니다. 우리는 CONCATENATE (가입) 요소에 & 연산자를 사용했다. 우리는 텍스트 상자 컨트롤 (TextBox1에, TextBox2를, TextBox3 등)의 이름을 변경하지 않았기 때문에이 코드 라인은 작동합니다. 컨트롤의 이름을 변경하려면,보기, 속성 창을 클릭하고 각 컨트롤을 클릭합니다.

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

Controls Collection Result