Mengonversi angka menjadi kata

Catatan: Kami ingin secepatnya menyediakan konten bantuan terbaru dalam bahasa Anda. Halaman ini diterjemahkan menggunakan mesin dan mungkin terdapat kesalahan tata bahasa atau masalah keakuratan. Kami bertujuan menyediakan konten yang bermanfaat untuk Anda. Dapatkah Anda memberi tahu kami apakah informasi ini bermanfaat untuk Anda di bagian bawah halaman ini? Berikut artikel dalam bahasa Inggris untuk referensi.

Excel tidak memiliki fungsi default yang menampilkan angka sebagai kata bahasa Inggris dalam lembar kerja, tapi 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 jumlah dolar dan sen kata-kata dengan rumus, sehingga 22,50 akan dibaca sebagai dua puluh dolar dan lima puluh sen. Ini bisa sangat berguna jika Anda menggunakan Excel sebagai Templat untuk mencetak pemeriksaan.

Jika Anda ingin mengonversi nilai numerik ke format teks tanpa menampilkannya sebagai kata, gunakan fungsi TEXT .

Catatan: Microsoft menyediakan contoh pemrograman ilustrasi saja, tanpa jaminan dinyatakan atau tersirat. Ini menyertakan, tetapi tidak terbatas pada, garansi atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah familiar dengan bahasa pemrograman VBA, dan dengan alat yang digunakan untuk membuat dan debug prosedur. Insinyur dukungan Microsoft bisa membantu menjelaskan fungsionalitas prosedur tertentu. Namun, mereka tidak akan memodifikasi contoh ini untuk menyediakan fungsionalitas ditambahkan, atau membuat prosedur untuk memenuhi kebutuhan spesifik Anda.

Membuat fungsi SpellNumber untuk mengonversi bilangan ke kata

  1. 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.

  2. Klik sisipkan tab, dan klik modul.

    Pada menu sisipkan, klik modul.
  3. Salin garis kode berikut.

    Catatan: Dikenal sebagai Fungsi ditetapkan pengguna (UDF), kode ini Mengotomatiskan tugas mengonversi angka menjadi teks 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
  4. Tempelkan baris kode ke Module1 (kode) kotak.

    Kode ditempelkan di Module1 kotak (kode).
  5. Tekan Alt + T untuk kembali ke Excel. Fungsi SpellNumber kini siap untuk digunakan.

    Catatan: Fungsi ini berfungsi hanya untuk buku kerja saat ini. Untuk menggunakan fungsi ini di buku kerja yang lain, Anda harus mengulangi langkah-langkah untuk menyalin dan menempelkan kode dalam buku kerja itu.

Atas Halaman

Menggunakan fungsi SpellNumber dalam sel individual

  1. Ketikkan rumus = SpellNumber(A1) ke dalam sel tempat Anda ingin menampilkan angka ditulis, di mana A1 adalah sel yang berisi angka yang ingin Anda konversi. Anda juga bisa mengetikkan nilai seperti = SpellNumber(22.50).

  2. Tekan Enter untuk mengonfirmasi rumus.

Atas Halaman

Menyimpan buku kerja fungsi SpellNumber Anda

Excel tidak bisa menyimpan buku kerja dengan fungsi makro dalam format standar bebas makro buku kerja (.xlsx). Jika Anda mengklik File > Simpan. Kotak dialog proyek VB terbuka. Klik tidak.

Di kotak dialog proyek VB, klik tidak.

Anda bisa menyimpan file Anda sebagai buku Kerja Excel makro aktif (.xlsm) untuk menyimpan file Anda dalam format saat ini.

  1. Klik File > Simpan Sebagai.

  2. Klik menu turun bawah Simpan sebagai tipe , dan pilih Buku kerja Excel makro aktif.

  3. Klik Simpan.

Atas Halaman

Lihat Juga

Fungsi TEXT

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×