Excel tidak memiliki fungsi default yang menampilkan angka sebagai kata bahasa Inggris dalam lembar kerja, tetapi Anda bisa menambahkan kapabilitas ini dengan menempelkan kode fungsi SpellNumber berikut ini ke dalam modul VBA (Visual Basic for Applications). Fungsi ini memungkinkan Anda mengonversi dolar dan jumlah sen ke kata-kata dengan rumus, sehingga 22,50 akan dibaca sebagai Twenty-Two Dollars dan Fifty Cents. Ini bisa sangat berguna jika Anda menggunakan Excel sebagai templat untuk mencetak pemeriksaan.
Jika Anda ingin mengonversi nilai numerik menjadi format teks tanpa menampilkannya sebagai kata, gunakan fungsi TEXT sebagai gantinya.
Catatan: Microsoft menyediakan contoh pemrograman untuk ilustrasi saja, tanpa jaminan baik tersurat maupun tersirat. Ini termasuk, tetapi tidak terbatas pada, jaminan tersirat dari kelayakan jual atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan bahasa pemrograman VBA, dan dengan alat yang digunakan untuk membuat dan men-debug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu. Namun, mereka tidak akan mengubah contoh ini untuk menyediakan fungsionalitas tambahan, atau menyusun prosedur untuk memenuhi persyaratan tertentu Anda.
Membuat fungsi SpellNumber untuk mengonversi angka menjadi kata
-
Gunakan pintasan keyboard, Alt + F11 untuk membuka Visual Basic Editor (VBE).
Catatan: Anda juga bisa mengakses Visual Basic Editor dengan memperlihatkan tab Pengembang di pita Anda.
-
Klik tab Sisipkan , dan klik Modul.
-
Salin baris kode berikut ini.
Catatan: Dikenal sebagai Fungsi yang Ditentukan Pengguna (UDF), kode ini mengotomatiskan tugas mengonversi angka menjadi teks di seluruh lembar kerja Anda.
Option Explicit 'Main Function Function SpellNumber(ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " ' String representation of amount. MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none. DecimalPlace = InStr(MyNumber, ".") ' Convert cents and set MyNumber to dollar amount. If DecimalPlace > 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " & Cents & " Cents" End Select SpellNumber = Dollars & Cents End Function ' Converts a number from 100-999 into text Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) ' Convert the hundreds place. If Mid(MyNumber, 1, 1) <> "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Convert the tens and ones place. 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 ' Converts a number from 10 to 99 into text. Function GetTens(TensText) Dim Result As String Result = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else ' If value between 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' Retrieve ones place. End If GetTens = Result End Function ' Converts a number from 1 to 9 into text. Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function
-
Tempelkan baris kode ke dalam kotak Module1 (Code).
-
Tekan Alt + Q untuk kembali ke Excel. Fungsi SpellNumber kini siap digunakan.
Catatan: Fungsi ini hanya berfungsi untuk buku kerja saat ini. Untuk menggunakan fungsi ini di buku kerja lain, Anda harus mengulangi langkah-langkah untuk menyalin dan menempelkan kode dalam buku kerja tersebut.
Menggunakan fungsi SpellNumber dalam sel individual
-
Ketikkan rumus =SpellNumber(A1) ke dalam sel tempat Anda ingin menampilkan angka tertulis, di mana A1 adalah sel yang berisi angka yang ingin Anda konversi. Anda juga dapat mengetik nilai secara manual seperti =SpellNumber(22.50).
-
Tekan Enter untuk mengonfirmasi rumus.
Menyimpan buku kerja fungsi SpellNumber Anda
Excel tidak bisa menyimpan buku kerja dengan fungsi makro dalam format buku kerja bebas makro standar (.xlsx). Jika Anda mengklik File > Simpan. Kotak dialog proyek VB akan terbuka. Klik Tidak.
Anda bisa menyimpan file Anda sebagai Buku Kerja Macro-Enabled Excel (.xlsm) untuk menyimpan file Anda dalam formatnya saat ini.
-
Klik File > Simpan Sebagai.
-
Klik menu turun bawah Simpan sebagai tipe , dan pilih Buku Kerja Macro-Enabled Excel.
-
Klik Simpan.