Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀(Excel) VBA - 스크롤 막대 컨트롤 이용해서 대출상환금 구하기

엑셀(Excel)/VBA
반응형

엑셀(Excel) VBA - 스크롤 막대 컨트롤 이용해서 대출상환금 구하기

 

환경 :  Microsoft Excel 2010

 

스크롤 막대를 이용해서 대출상환금을 계산하는 폼을 만들어 보았습니다. 대출상환금을 구하는 함수는 PMT 이며 이전 아티클을 참고 하시기 바랍니다.

 

PMT 함수에 들어가는 값들을 스크롤 막대로 선택해 넣을수 있도록 3개의 텍스트 박스와 3개의 스크롤 막대를 만듭니다. 그리고 확인을 누르게 되면 월단위로 대출상관금을 계산해서 레이블에 뿌려 주게 됩니다.

 

엑셀(Excel) VBA - 스크롤 막대 컨트롤 이용해서 대출상환금 구하기

 

폼을 초기화 할 때 스크롤바에 대한 옵션을 셋팅하게 되는데 셋팅해야할 속성은 Min, Max, SamllChange, LargeChange Value 가 있습니다. Min, Max 는 스크롤 바로 표현할수 있는 값의 최대값 최소값이고 SamllChange, LargeChange 오래 눌렀을때와 짧은 간격으로 눌렀을때의 값이 변화하는 크기를 말합니다. 그렇게 해서 3개의 텍스트 박스와 스크롤 막대를 아래와 같이 셋팅합니다.

 

Private Sub UserForm_Initialize()

   

    TextBox1.BackColor = RGB(255, 255, 0)

    TextBox1.TextAlign = fmTextAlignCenter

    TextBox1.Font.Bold = True

    TextBox1.Enabled = False

 

    Label1.TextAlign = fmTextAlignLeft

       

    ScrollBar1.Min = 0

    ScrollBar1.Max = 10000

    ScrollBar1.Orientation = fmOrientationHorizontal

    ScrollBar1.SmallChange = 5

    ScrollBar1.LargeChange = 100

    ScrollBar1.Value = 0

   

    TextBox2.BackColor = RGB(255, 255, 0)

    TextBox2.TextAlign = fmTextAlignCenter

    TextBox2.Font.Bold = True

    TextBox2.Enabled = False

   

    Label2.TextAlign = fmTextAlignLeft

   

    ScrollBar2.Min = 0

    ScrollBar2.Max = 1000

    ScrollBar2.Orientation = fmOrientationHorizontal

    ScrollBar2.SmallChange = 1

    ScrollBar2.LargeChange = 10

    ScrollBar2.Value = 0

   

    TextBox3.BackColor = RGB(255, 255, 0)

    TextBox3.TextAlign = fmTextAlignCenter

    TextBox3.Font.Bold = True

    TextBox3.Enabled = False

 

    Label3.TextAlign = fmTextAlignLeft

   

    ScrollBar3.Min = 0

    ScrollBar3.Max = 50

    ScrollBar3.Orientation = fmOrientationHorizontal

    ScrollBar3.SmallChange = 1

    ScrollBar3.LargeChange = 4

    ScrollBar3.Value = 0

 

    Label4.Caption = "월지출비용 : \"

    Label4.TextAlign = fmTextAlignCenter

    Label4.BackColor = RGB(0, 255, 0)

    Label4.Font.Bold = True

 

End Sub

 

이제 스크롤이 클릭 되었을 때 텍스트 박스에 값을 표현해야 합니다. 스크롤이 클릭되었을 때 발생하는 이벤트는 Change 입니다. 각각 Change 함수를 등록합니다.

 

Private Sub ScrollBar1_Change()

    TextBox1.Value = ScrollBar1.Value * 1000

    TextBox1.Value = Format(TextBox1.Value, "#,##0")

End Sub

 

Private Sub ScrollBar2_Change()

    TextBox2.Value = ScrollBar2.Value / 10

End Sub

 

Private Sub ScrollBar3_Change()

    TextBox3.Value = ScrollBar3.Value / 2

End Sub

 

마지막으로 확인 버튼을 클릭했을 때 대출상환금을 계산하는 소스입니다.  PMT 함수를 사용하여 값을 구하였습니다. 마지막에 그 결과값을 레이블에 뿌려 주게 됩니다.

 

Private Sub CommandButton1_Click()

 

    Dim mi As Currency

    If Not TextBox1.Value > 0 Then

        MsgBox "Please Enter Loan Amount!"

        Exit Sub

    ElseIf Not TextBox2.Value > 0 Then

        MsgBox "Please Enter Annual Interest Rate!"

        Exit Sub

    ElseIf Not TextBox3.Value > 0 Then

        MsgBox "Please Enter Loan Tenure!"

        Exit Sub

    Else

        mi = Pmt((TextBox2.Value / 100) / 12, TextBox3.Value * 12, TextBox1.Value)

        Label4.Caption = "월지출비용 : \" & Round(mi, 2) * -1

    End If

 

End Sub

 

모든 소스를 완성하고 실행시키면 아래와 같은 화면이 나올겁니다. 값을 적당히 집어넣고 확인을 눌러 봅니다. 그럼 계산한 결과를 레이블에서 볼 수 있습니다.

엑셀(Excel) VBA - 스크롤 막대 컨트롤 이용해서 대출상환금 구하기

 

 

반응형
Posted by 녹두장군1
,