Home | Page Title | TipTrik | about nyemeloo

TipTrik

Tips Ms-Excel --- Spellnumber dan SpellDollar

Tips kali ini kita akan membuat sebuah makro yang akan "membilang" angka baik itu dalam Rupiah atau Dollar. Sehingga kita tidak lagi harus menulis "Satu juta dua ratus ribu rupiah" untuk membilang angka 1.200.000.

Berikut adalah source codenya.

 

‘Main Function of SpellNumber

Function SpellNumber(ByVal MyNumber)

    Dim Rupiah, Sen, Temp

    Dim DecimalPlace, Count

    ReDim Place(9) As String

    Dim a As Long

    Place(2) = " Ribu"

    Place(3) = " Juta"

    Place(4) = " Milyar"

    Place(5) = " Trilyun"

    MyNumber = Trim(Str(MyNumber))

    DecimalPlace = InStr(MyNumber, ".")

    If DecimalPlace > 0 Then

        Sen = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) & "/100"

        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If

    Count = 1

    Do While MyNumber <> ""

        Temp = GetHundreds(Right(MyNumber, 3))

        If Temp <> "" Then Rupiah = Temp & Place(Count) & Rupiah

        If Len(MyNumber) > 3 Then

            MyNumber = Left(MyNumber, Len(MyNumber) - 3)

            Else

            MyNumber = ""

        End If

        Count = Count + 1

    Loop

    Select Case Rupiah

        Case ""

            Rupiah = "Nol "

        Case "One"

            Rupiah = "Satu"

        Case Else

            Rupiah = Rupiah & " "

    End Select

    Select Case Sen

        Case ""

            Sen = "Rupiah"

        Case "One"

            Sen = ", 1/100 Rupiah"

        Case Else

            Sen = ", " & Sen & " Rupiah"

    End Select

    If Left(Trim(Rupiah), 9) = "Satu Ribu" Then

        Rupiah = "Seribu" & Mid(Rupiah, 11)

    End If

    SpellNumber = Trim(Rupiah & Sen)

End Function

 

‘Main Function of SpellDollar

Function Spelldollar(ByVal MyNumber)

    Dim Dollar, Sen, Temp

    Dim DecimalPlace, Count

    ReDim Place(9) As String

    Dim a As Long

    Place(2) = " Ribu"

    Place(3) = " Juta"

    Place(4) = " Milyar"

    Place(5) = " Trilyun"

    MyNumber = Trim(Str(MyNumber))

    DecimalPlace = InStr(MyNumber, ".")

    If DecimalPlace > 0 Then

        Sen = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) & "/100"

        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If

    Count = 1

    Do While MyNumber <> ""

        Temp = GetHundreds(Right(MyNumber, 3))

        If Temp <> "" Then Dollar = Temp & Place(Count) & Dollar

        If Len(MyNumber) > 3 Then

            MyNumber = Left(MyNumber, Len(MyNumber) - 3)

            Else

            MyNumber = ""

        End If

        Count = Count + 1

    Loop

    Select Case Dollar

        Case ""

            Dollar = "Nol "

        Case "One"

            Dollar = "Satu"

        Case Else

            Dollar = Dollar & " "

    End Select

    Select Case Sen

        Case ""

            Sen = "Dollar"

        Case "One"

            Sen = ", 1/100 Dollar"

        Case Else

            Sen = ", " & Sen & " Dollar"

    End Select

    If Left(Trim(Dollar), 9) = "Satu Ribu" Then

        Dollar = "Seribu" & Mid(Dollar, 11)

    End If

    Spelldollar = Trim(Dollar & Sen)

End Function

 

’fungsi utk merubah angka 100-999 jadi text

Function GetHundreds(ByVal MyNumber)

    Dim Result As String

    If Val(MyNumber) = 0 Then Exit Function

    MyNumber = Right("000" & MyNumber, 3)

    If Mid(MyNumber, 1, 1) <> "0" Then

        If Mid(MyNumber, 1, 1) = "1" Then

            Result = "Seratus"

            Else

            Result = GetDigit(Mid(MyNumber, 1, 1)) & " Ratus"

        End If

    End If

    If Mid(MyNumber, 2, 1) <> "0" Then

        Result = Result & GetTens(Mid(MyNumber, 2))

        Else

        Result = Result & GetDigit(Mid(MyNumber, 3))

    End If

    GetHundreds = Result

End Function

 

‘funsi untuk merubah angka 10-99 menjadi text.

Function GetTens(TensText)

    Dim Result As String

    Result = ""

    If Val(Left(TensText, 1)) = "1" Then

        Select Case Val(TensText)

            Case 10: Result = " Sepuluh"

            Case 11: Result = " Sebelas"

            Case 12: Result = " Dua Belas"

            Case 13: Result = " Tiga Belas"

            Case 14: Result = " Empat Belas"

            Case 15: Result = " Lima Belas"

            Case 16: Result = " Enam Belas"

            Case 17: Result = " Tujuh Belas"

            Case 18: Result = " Delapan Belas"

            Case 19: Result = " Sembilan Belas"

            Case Else

        End Select

    Else   

        Select Case Val(Left(TensText, 1))

            Case 2: Result = " Dua Puluh"

            Case 3: Result = " Tiga Puluh"

            Case 4: Result = " Empat Puluh"

            Case 5: Result = " Lima Puluh"

            Case 6: Result = " Enam Puluh"

            Case 7: Result = " Tujuh Puluh"

            Case 8: Result = " Delapan Puluh"

            Case 9: Result = " Sembilan Puluh"

            Case Else

        End Select

        Result = Result & GetDigit(Right(TensText, 1))

    End If

    GetTens = Result

End Function

 

’fungsi utk merubah angka 1-9 menjadi text.

Function GetDigit(Digit)

    Select Case Val(Digit)

        Case 1: GetDigit = " Satu"

        Case 2: GetDigit = " Dua"

        Case 3: GetDigit = " Tiga"

        Case 4: GetDigit = " Empat"

        Case 5: GetDigit = " Lima"

        Case 6: GetDigit = " Enam"

        Case 7: GetDigit = " Tujuh"

        Case 8: GetDigit = " Delapan"

        Case 9: GetDigit = " Sembilan"

        Case Else: GetDigit = ""

    End Select

End Function

 

Adapun cara membuatnya adalah sebagai berkut:

Langkah 1. Buka File MS-Excel yang akan ditambahkan Fungsi SpellNumber dan SpellDollar

Langkah 2. Buka Microsoft Visual Basic Editor melalui menu Tools->Macro->Visual Basic Editor atau dengan menekan kombinasi tombol Alt+F11.

Langkah 3.
Pada aplikasi Visual Basic Editor tambahkan "module" melalui menu Insert->Module.

Langkah 4. Copykan Source Code fungsi Spellnumber diatas ke jendela Module1.

Langkah 5. Tutup jendela Microsoft Visual Basis Editor dan kembali ke aplikasi MS-Excel Nah.. Fungsi Spellnumber dan Spelldollar siap digunakan. Syntaxnya adalah =SPELLNUMBER(number) untuk valuta Rupiah dan =SPELLDOLLAR(number) untuk valuta Dollar, dimana number adalah angka atau sebuah cell yang berisi angka.
contoh : jika angka yang kita mau terbilang terltak pada cell A5 maka,

=spellnumber(A5)

Catatan:
Secara default MS-Excel 2003 mengatur securitynya ke level High sehingga makro yang kita buat tadi tidak dapat digunakan, untuk itu atur lah security menjadi level Medium melalui menu Tools>Macro>Security. Dan jangan lupa untuk mengklik "enable macros" apabila membuka file MS-Excel yang telah ditambahkan makro ini supaya fungsi Spellnumber dan SpellDollar bisa digunakan. Demikian Tips MS-Excel kali ini.

Enter supporting content here

nyemeloo-exhumes imagination
please Call:+628153900193   or     e-mail me:  nyemeloo@yahoo.co.id