우리는 또 다른으로 한 통화에서 금액을 변환하는 사용자 정의 폼을 만들어 엑셀 VBA에서 프로그램을보고 아래.

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

Currency Converter in Excel VBA

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

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

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

Userform Screen Setup in Excel VBA

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

  1. 이름과 컨트롤의 캡션을 변경할 수 있습니다. 이름은 엑셀 VBA 코드에 사용됩니다. 자막은 화면에 나타나는 것들이다. 이 컨트롤의 이름을 변경하는 것이 좋습니다,하지만 우리는이 예제에서 몇 가지 컨트롤을 가지고 있기 때문에 여기에 필요하지 않습니다. 사용자 정의 폼, 명령 단추 및 레이블의 캡션을 변경하려면,보기, 속성 창을 클릭하고 각 컨트롤을 클릭합니다.

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

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

우리는 지금 하위 UserForm_Initialize을 만들 것입니다. 사용자 정의 폼에 대한 표시 방법을 사용하면,이 서브가 자동으로 실행됩니다.

  1. Visual Basic 편집기.

프로젝트 탐색기 7. 오른쪽 UserForm1을 클릭 한 다음 코드보기를 클릭하십시오.

왼쪽 드롭 다운 목록에서 사용자 정의 폼을 선택 8.. 오른쪽 드롭 다운 목록에서 초기화를 선택합니다.

다음 코드 줄을 추가 9. :

Private Sub UserForm_Initialize()

With ListBox1

.AddItem "Euro"

.AddItem "Us Dollar"

.AddItem "British Pound"

End With

With ListBox2

.AddItem "Euro"

.AddItem "Us Dollar"

.AddItem "British Pound"

End With

ListBox1.ListIndex = 1

ListBox2.ListIndex = 0

TextBox1.Value = 1

TextBox2.Value = 0.722152

End Sub

설명 : 첫 번째, 두 개의 목록 상자가 작성된다. 다음으로, 미국 달러 통화는 첫 번째 목록 상자에서 기본값으로 설정되고 EURO는 두 번째 목록 상자에서 기본값으로 설정 currencyis. 마지막으로, 값 1은 제 1 텍스트 박스에 입력되고, 값이 0.722152 번째 텍스트 박스에 입력된다.

우리는 지금 사용자 정의 폼의 첫 번째 부분을 만들었습니다. 이미 깔끔한 보이지만 우리는 이동 버튼을 클릭하면, 아무것도 아직 일어나지 않습니다.

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

  1. 더블 이동 버튼을 클릭합니다.

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

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1

rates(0, 1) = 1.38475

rates(0, 2) = 0.87452



rates(1, 0) = 0.722152

rates(1, 1) = 1

rates(1, 2) = 0.63161



rates(2, 0) = 1.143484

rates(2, 1) = 1.583255

rates(2, 2) = 1



For i = 0 To 2

For j = 0 To 2

If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value  rates(i, j)

Next j

Next i

End Sub

설명 : 첫째, 우리는 배열을 선언합니다. 어레이는 두 개의 차원을 갖는다.

그것은 3 행 3 열로 구성됩니다. 다음에, 우리는 상기 어레이의 각 요소를 초기화한다. 예를 들어, 요금 (1,0)는 미국 달러에서 유로에 대한 환율이다. 다음으로, 우리는 이중 루프를 시작합니다. 목록 상자에서 선택한 통화에 따라, 엑셀 VBA는 첫 번째 텍스트 상자 및 디스플레이 두 번째 텍스트 상자에 결과에 입력 된 금액을 변환합니다.

예 : 나는 2 J = 1 = 우리는 첫 번째 텍스트 박스에 2 값을 입력하면, 엑셀 VBA의 값이 2 개 등급 (2,1) = 두 번째 텍스트 박스 2 * 1.583255 = 3.16651를 놓는다.

  1. 테스트 사용자 정의 폼.

결과 :

Currency Converter Result