Video Matematika »
Belajar matematika dengan menggunakan video dari youtube.Kunjungi segera! http://video-matematika.blogspot.com/
Home » » Mengubah Angka ke Huruf dengan Makro Excel

Mengubah Angka ke Huruf dengan Makro Excel

Written By Amin Herwansyah on 12 Jun 2014 | 21.55

Menjelang akhir tahun pelajaran pada semester genap, adalah merupakan waktu yang banyak menguras tenaga, khususnya bagi para guru di setiap jenjang  sekolah. Salah satunya adalah mengolah nilai dan  memberikan laporannya kepada pihak sekolah (berwenang). Laporan hasil evaluasi harus diberikan kepada orangtua siswa  dalam bentuk Buku Laporan Hasil Belajar Siswa (LHBS) , "Raport".



Untuk kurikulum 2013 pengolahan nilai dan raport sudah ada aplikasinya seperti yang ada pada blognya Pak Supriyanto yaitu Program Nilai dan Raport Kurikulum2013 .
 
Nah biasanya yang menjadi masalah dalam penulisan raport dengan menggunakan Microsoft Excel (Excel) adalah mengubah tampilan angka (numerik) di dalam sel di lembar kerja Excel,  menjadi huruf (teks).

Misalnya kita ingin menuliskan angka 7,89 menjadi Tujuh koma Delapan Sembilan. Untuk mengatasi hal ini ada beberapa cara untuk mengatasi hal tersebut. Kita coba menggunakan fungsi Microsoft Visual Basic pada Excel.

Hal yang perlu Anda lakukan adalah :
  1. Buka Excel
  2. Tekan bareng tombol ALT + F11
  3. Pilih menu INSERT, klik MODULE
  4. Kopi kode di bawah (berlatar biru) dan paste ke dalam lembar Modul. 
  5. Tekan bareng tombol ALT + Q
Function toword(ByVal MyNumber)

Dim Temp

         Dim Number, Cents

         Dim DecimalPlace, Count

         ReDim Place(9) As String

         ' Convert MyNumber to a string, trimming extra spaces.

         MyNumber = Trim(Str(MyNumber))

         ' Find decimal place.

         DecimalPlace = InStr(MyNumber, ".")

         ' If we find decimal place...

         If DecimalPlace > 0 Then

            ' Convert cents

            Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)

            Cents = ConvertTens(Temp)

            ' Strip off cents from remainder to convert.

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

         End If

         Count = 1

         Do While MyNumber <> ""

            ' Convert last 3 digits of MyNumber to English Number.

            Temp = ConvertHundreds(Right(MyNumber, 3))

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

            If Len(MyNumber) > 3 Then

               ' Remove last 3 converted digits from MyNumber.

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

            Else

               MyNumber = ""

            End If

            Count = Count + 1

         Loop

         ' Clean up number.

        Select Case Number

            Case ""

               Number = "Nol"

            Case "Satu"

               Number = "Satu"

            Case Else

               Number = Number

         End Select

         ' Clean up cents.

         Select Case Cents

            Case ""

               Cents = " koma Nol"

            Case "Satu"

               Cents = " koma Satu"

            Case Else

               Cents = " koma " & Cents

         End Select

         toword = Number & Cents

End Function
Private Function ConvertHundreds(ByVal MyNumber)

Dim Result As String

         ' Exit if there is nothing to convert.

         If Val(MyNumber) = 0 Then Exit Function

         ' Append leading zeros to number.

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

         ' Do we have a hundreds place digit to convert?

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

            Result = ConvertDigit(Left(MyNumber, 1)) & " Nol "

         End If

         ' Do we have a tens place digit to convert?

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

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

         Else

            ' If not, then convert the ones place digit.

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

         End If

         ConvertHundreds = Trim(Result)

End Function
Private Function ConvertTens(ByVal MyTens)

Dim Result As String

         ' Is value between 10 and 19?

         If Val(Left(MyTens, 1)) = 1 Then

            Select Case Val(MyTens)

               Case 10: Result = "Satu Nol"

               Case 11: Result = "Satu Satu"

               Case 12: Result = "Satu Dua"

               Case 13: Result = "Satu Tiga"

               Case 14: Result = "Satu Empat"

               Case 15: Result = "Satu Lima"

               Case 16: Result = "Satu Enam"

               Case 17: Result = "Satu Tujuh"

               Case 18: Result = "Satu Delapan"

               Case 19: Result = "Satu Sembilan"

               Case Else

            End Select

         Else

            ' .. otherwise it's between 20 and 99.

            Select Case Val(Left(MyTens, 1))

               Case 0: Result = "Nol "

               Case 2: Result = "Dua "

               Case 3: Result = "Tiga "

               Case 4: Result = "Empat "

               Case 5: Result = "Lima "

               Case 6: Result = "Enam "

               Case 7: Result = "Tujuh "

               Case 8: Result = "Delapan "

               Case 9: Result = "Sembilan "

               Case Else

            End Select

            ' Convert ones place digit.

            Result = Result & ConvertDigit(Right(MyTens, 1))

         End If

         ConvertTens = Result

End Function
Private Function ConvertDigit(ByVal MyDigit)

Select Case Val(MyDigit)

            Case 0: ConvertDigit = "Nol"

            Case 1: ConvertDigit = "Satu"

            Case 2: ConvertDigit = "Dua"

            Case 3: ConvertDigit = "Tiga"

            Case 4: ConvertDigit = "Empat"

            Case 5: ConvertDigit = "Lima"

            Case 6: ConvertDigit = "Enam"

            Case 7: ConvertDigit = "Tujuh"

            Case 8: ConvertDigit = "Delapan"

            Case 9: ConvertDigit = "Sembilan"

            Case Else: ConvertDigit = ""

         End Select

End Function



Cara menampilkannya bagaimana ?

Misal angka 7,89 berada di sel A1, dan tampilan huruf berada di sel A2. Maka di sel A2 ketik:

 =toword(A1)


Demikianlah semoga bermanfaat.

Ucapan terima kasih kepada Bapak Mushlihudin untuk kode VB-nya dan semoga sukses. Wassalaam.
Share this article :

Posting Komentar

 
Support : VidMath | SMANSA BEDA | PGRI Citamiang
Copyright © 2011. Media Matematik - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger